У меня есть следующая форма с некоторыми простыми правилами проверки:
<form name="signup_form" novalidate ng-submit="ctrl.signupForm()">
<div class="row">
<input placeholder="Username"
name="username"
ng-model="ctrl.username"
required
ng-minLength=3
ng-maxLength=8>
</div>
<div ng-show="signup_form['username'].dirty &&
signup_form['username'].invalid">
<!-- ... -->
</div>
<button type="submit">Submit</button>
</form>
Я хотел бы отобразить определенные сообщения об ошибках для required
, ng-minLength
и ng-maxLength
, но мне не удается перейти к signup_form['username'].errors
, чтобы получить конкретную ошибку.
Я могу легко получить доступ к карте errors
в контроллере, именно в разметке я не могу получить дескриптор конкретной ошибки. Я хотел бы иметь возможность сделать примерно что-то вроде этого:
<div ng-show="signup_form['username'].errors['minlength'].invalid>
<!-- ... -->
</div>
То есть что-то вроде следующего в angularJS:
<div ng-show="signup_form.username.$error.required">This field is required</div>
ng-hide
.<style> .ng-hide { display: none }</style>
- person Misko Hevery   schedule 20.03.2014errors
работает некорректно в представлении. Например, добавление<div>{{signup_form['username'].errors['required'] != null}}</div><div>{{signup_form['username'].errors['minlength'] != null}}</div><div>{{signup_form['username'].errors['maxlength'] != null}}</div>
приводит к тому, что первый<div>
показываетtrue
, а два других показываютfalse
независимо от входного значения. - person Shailen Tuli   schedule 20.03.2014