Не удается инициализировать ввод с помощью ng-minlength

#angularjs

#angularjs

Вопрос:

Когда я использую ng-minlength и устанавливаю для поля ввода значение «x», в поле ввода не отображается «x»

 <body ng-app="docu" ng-controller="formCtrl">  
        <input type="text" ng-minlength="4"  ng-model="deal.cupon">
</body>

var docu = angular.module('docu', []);

docu.controller('formCtrl', function($scope) {
    $scope.deal = {};
    $scope.deal.cupon = "x";
});
  

http://jsfiddle.net/jivangilad/8wmEP/

Комментарии:

1. «x» короче 4 символов.

2. @Mosho даже если x короче 4 символов, я думаю, пользователь должен иметь возможность видеть содержимое недопустимого предварительно заполненного ввода.

Ответ №1:

Поскольку вы использовали директиву ng-minlength для ввода, она не будет отображать ваше значение ng-model до тех пор, пока оно не будет соответствовать заданным вами критериям минимальной длины.

Основываясь на вашем комментарии ниже, я рекомендую вам ознакомиться с директивой ng-form здесь. Вы можете использовать это для инкапсуляции от одного до многих входных данных, выбора и т.д. и запуска проверки «на лету». Это предотвратит отправку формы на основе правил, которые вы устанавливаете для каждого элемента управления в форме.

Комментарии:

1. Я хочу разрешить ввод с длиной 1 символа, я просто не хочу, чтобы он был действительным, поэтому пользователь не может опубликовать форму