Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular中作为函数的自定义验证_Javascript_Angularjs_Validation_Angularjs Directive_Angularjs Controller - Fatal编程技术网

Javascript 在Angular中作为函数的自定义验证

Javascript 在Angular中作为函数的自定义验证,javascript,angularjs,validation,angularjs-directive,angularjs-controller,Javascript,Angularjs,Validation,Angularjs Directive,Angularjs Controller,在Angular中,我尝试验证模糊上的字段值。我有一个客户列表,我想检查字段中的模型值是否在我的客户列表中。如果不是,我想将有效性设置为false 我知道存在ng model options=“{updateOn:'blur'},但是,我不能使用此字段,因为该字段是一个typeahead,因此必须根据模型进行更新。在blur上需要进行验证 答案似乎是: 将其作为函数写入控制器,并像在指令中一样使用$SETVALITY。使用ng blur在输入字段中触发该函数 -但是,我经常遇到一些示例,其中自定

在Angular中,我尝试验证模糊上的字段值。我有一个客户列表,我想检查字段中的模型值是否在我的客户列表中。如果不是,我想将有效性设置为false

我知道存在
ng model options=“{updateOn:'blur'}
,但是,我不能使用此字段,因为该字段是一个typeahead,因此必须根据模型进行更新。在blur上需要进行验证

答案似乎是:

  • 将其作为函数写入控制器,并像在指令中一样使用$SETVALITY。使用ng blur在输入字段中触发该函数

    -但是,我经常遇到一些示例,其中自定义验证(如果模型值与列表中的值不匹配,则使字段无效)仅作为指令写入。是否有自定义验证作为函数写入的示例

  • 编写仅在模糊时触发的指令

  • 然而,我找不到做这两件事的例子

    是否有人将自定义验证示例作为仅在字段模糊时更新的函数或指令?

    我发现此链接对自定义验证非常有用,但我仍然存在函数和指令之间差异的相同问题:


    **我的typeahead有效,我不需要帮助让uib typeahead工作,而是需要伴随的自定义验证

    这里是在模糊上触发的自定义验证示例:

    angular.module('myApp', [])
    .directive('customValidation', function() {
        return {
            require: 'ngModel',
            link: function(scope, el, attrs, ngModel) {
                el.bind('blur', function(event) {
                    scope.$apply(function() {
                        ngModel.$setValidity('customValidation', scope.name == 'test');
                    });
                })
            }
        };
    });