ng-model-options updateOn输入的模型长度

时间:2018-07-25 07:18:57

标签: validation angularjs-directive angular-ngmodel custom-events

仅当输入的数字长度为正确长度时,我才需要使用ng-model-options启动ng-model验证。

现在我设法通过 ng-model-options UpdateOn:Blur 做到了这一点,然后在指令中验证链接功能的onBlur事件触发时验证了指令长度数量,但实际上我想要的是仅在输入正确长度的数字时才触发指令中的链接验证功能,

指令:

some.directive('name', ['$http', '$q', function ($http, $q) {
    return {
        require: 'ngModel',
        link: function (scope, elm, attrs, ngModel, ngModelCtrl) {

            //Check on blur event for entered value is valid
            elm.on('blur', function () {
                if (elm.val().length === 11) {
                    ngModel.$validators.foo = function (modelValue, viewValue) {
                        ngModel.$errorMessages.foo = 'error';}

HTML

<div ng-class="{'has-error' : form.name.$invalid && form.name.$dirty }">
    <input name ng-model="formData.name" ng-model-options="{ updateOn: 'blur' }"  maxlength="11"/>
</div>

*** name *是虚拟指令名称!

0 个答案:

没有答案