в этом plunk есть форма с проверками ngMessage. Это то, что я пытаюсь достичь:Угловое ngMessage: Validate on form submit
- Когда форма показана пользователю, никаких сообщений об ошибках не должны отображаться
- На размытости, если поле имеет ошибки, то сообщение должно быть показано
- Когда форма отправлена, если есть какие-либо поля с ошибками, сообщения об ошибках должны отображаться.
В plunk У меня есть две проблемы: (1) сообщение отображается, когда форма изначально показана, и (2) когда сообщения об ошибках и пользователь не нажимает на кнопку, форма не отправляется. Что не так с кодом?
HTML
<form name="myForm" novalidate>
<label>
Enter your name:
<input type="text"
name="myName"
ng-model="name"
ng-minlength="5"
ng-maxlength="20"
required />
</label>
<div ng-messages="myForm.myName.$error" style="color:red" role="alert">
<div ng-message="required">You did not enter a field</div>
<div ng-message="minlength">Your field is too short</div>
<div ng-message="maxlength">Your field is too long</div>
</div>
<button type="submit"
ng-submit="myForm.$valid && submitForm()">Submit</button>
</form>
Javascript
var app = angular.module('ngMessagesExample', ['ngMessages']);
app.controller('nameController', function ($scope) {
$scope.submitForm = function() {
alert('Form submitted - fields passed validation');
};
});
будет эта работа, если я только работаю по проверке в случай '$ touched' –