Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
Angularjs 跳过$asyncValidators,直到模型变脏_Angularjs - Fatal编程技术网

Angularjs 跳过$asyncValidators,直到模型变脏

Angularjs 跳过$asyncValidators,直到模型变脏,angularjs,Angularjs,我使用$asyncValidators验证字段值。使用$resource从服务器获取字段值。在页面加载时,该值为空,验证程序向服务器发送请求。当$resource获取资源时,将填充字段值,验证程序将向服务器发送另一个请求 我想跳过这两个初始请求,因为它们是无用的。我该怎么做 我的输入字段: <input name="name" class="form-control" ng-model="user.name" validate-name> 合理的条件是接触模型;如果不是,只需返回已

我使用
$asyncValidators
验证字段值。使用
$resource
从服务器获取字段值。在页面加载时,该值为空,验证程序向服务器发送请求。当
$resource
获取资源时,将填充字段值,验证程序将向服务器发送另一个请求

我想跳过这两个初始请求,因为它们是无用的。我该怎么做

我的输入字段:

<input name="name" class="form-control" ng-model="user.name" validate-name>

合理的条件是接触模型;如果不是,只需返回已解决的承诺,而不访问服务器。即:

ctrl.$asyncValidators.name = function(modelValue, viewValue) {
    if( ctrl.$touched ) {
        return $http.post('/validate-username', {username: viewValue})....
    }
    else {
        return $q.resolve(true);
    }
};
ctrl.$asyncValidators.name = function(modelValue, viewValue) {
    if( ctrl.$touched ) {
        return $http.post('/validate-username', {username: viewValue})....
    }
    else {
        return $q.resolve(true);
    }
};