Đây là một ví dụ sử dụng ng-messages (có sẵn trong góc 1.3) và một chỉ thị tùy chỉnh.
Thông báo xác thực được hiển thị ở chế độ mờ trong lần đầu tiên người dùng rời khỏi trường nhập, nhưng khi anh ta sửa giá trị, thông báo xác thực sẽ bị xóa ngay lập tức (không bị mờ nữa).
JavaScript
myApp.directive("validateOnBlur", [function() {
var ddo = {
restrict: "A",
require: "ngModel",
scope: {},
link: function(scope, element, attrs, modelCtrl) {
element.on('blur', function () {
modelCtrl.$showValidationMessage = modelCtrl.$dirty;
scope.$apply();
});
}
};
return ddo;
}]);
HTML
<form name="person">
<input type="text" ng-model="item.firstName" name="firstName"
ng-minlength="3" ng-maxlength="20" validate-on-blur required />
<div ng-show="person.firstName.$showValidationMessage" ng-messages="person.firstName.$error">
<span ng-message="required">name is required</span>
<span ng-message="minlength">name is too short</span>
<span ng-message="maxlength">name is too long</span>
</div>
</form>
Tái bút. Đừng quên tải xuống và bao gồm ngMessages trong mô-đun của bạn:
var myApp = angular.module('myApp', ['ngMessages']);