Я создал форму HTML, используя AngularJS, и добавил атрибуты required
к некоторым полям.
Для этих полей у меня есть сообщение об ошибке, которое отображает, если поле не $pristine
, а также $invalid
:
<input type="text" ng-model="SomeModel.SomeProperty" name="myField" class="input-block-level" required>
<p ng-show="frmMyForm.myField.$invalid && !frmMyForm.myField.$pristine" class="error-text">This field is required!</p>
Это прекрасно работает. Однако, если пользователь просто пропускает требуемое поле (никогда не помещает в него курсор), тогда поле всегда нетронуто, поэтому сообщение об ошибке не отображается даже после нажатия кнопки отправки. Таким образом, пользователь сталкивается с формой, которую они не могут отправить, но без текста ошибки, чтобы рассказать им, почему.
Моя мысль заключается в том, что установка всех полей формы в $dirty
в действии отправки приведет к появлению сообщений об ошибках для любого требуемого поля, которое пользователь просто пропустил. Это возможно? Если да, то как?
Спасибо заранее.