使用 AngularJS 自定义字段验证

Using AngularJS custom field validation

本文关键字:验证 字段 自定义 AngularJS 使用      更新时间:2023-09-26

我正在使用$asyncValidators来验证字段,但希望它仅在字段失去焦点而不是每次更改时才触发。这可能还是我必须使用除$asyncValidators以外的其他东西?使用$asyncValidators的代码示例(取自文档)

ngModel.$asyncValidators.uniqueUsername = function (modelValue, viewValue) {
    var value = modelValue || viewValue;
    // Lookup user by username
    return $http.get('/api/users/' + value).
        then(function resolved() {
            //username exists, this means validation fails
            return $q.reject('exists');
        }, function rejected() {
            //username does not exist, therefore this validation passes
            return true;
        });
};

我认为您可以使用ngModelOptions指令来实现这一点。

ng-model-options="{ updateOn: 'blur' }"

您可以强制仅对某些预定义事件"评估"模型。在您的情况下,您希望在离开字段时对其进行评估,例如blur事件。

ngModelOptions 指令的官方文档