您好我正在尝试使用指令进行自定义验证。
该指令获取值并向服务器请求用户名是否存在。返回true或false。
然后我使用ctrl.$setValidity('exists', response);
更新值。但即使我写了ctrl.$setValidity('exists', true);
$scope.domainOwner_val.login.$error
main.directive('exist', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ctrl) {
ctrl.$parsers.unshift(function (value) {
if (value) {
scope.$http.post(scope.appConfigs.domain + "IsUserNameTaken&"+serializeData({ username: value }), null)
.success(function (data) {
var val = data.data ? false : true;
if (data["ErrorCode"] == 0) {
ctrl.$setValidity('exists', true);
}
}).
error(function (data, status, headers, config) {
// // called asynchronously if an error occurs
// // or server returns response with an error status.
console.log("IsUserNameTaken: " + data.data)
});
}
})
}
}
});
,我也不会有什么价值。
总是返回false。
这是我的代码,可以有人帮我吗?
{{1}}