Berikut adalah contoh penggunaan ng-messages (tersedia dalam angular 1.3) dan custom directive.
Pesan validasi ditampilkan dalam mode blur untuk pertama kalinya pengguna meninggalkan kolom input, tetapi ketika dia mengoreksi nilainya, pesan validasi segera dihapus (tidak buram lagi).
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>
PS. Jangan lupa untuk mendownload dan menyertakan ngMessages dalam modul Anda:
var myApp = angular.module('myApp', ['ngMessages']);