我在angualrjs中新使用valdr。我使用valdr为我的应用程序制作验证指令。我不想用app.config文件中的json编写addconstaints和addvalidator函数。我只想在指令中写出那部分?任何人都可以解决这个问题......?
var app = angular.module('app', ['valdr']);
app.config(function (valdrProvider) {
valdrProvider.addConstraints({
'Person': {
'firstname':
{
'size': {
'min': 3,
'max': 12,
'message':'firstname should be between 3 to 12 '
},
'required': {
'message': 'This field is required.'
}
},
'firstName':
{
'customValidator': {
'message': 'First name must be Hanueli.'
}
}
}
});
});
app.directive('info', function () {
return {
restrict: 'E',
templateUrl: 'tmpl.html',
require: '^?valdrProvider',
link: function ($scope, valdrProvider) {
$scope.Person = {};
$scope.$watch(valdrProvider.getConstraints, function (newContraints) {
$scope.constraints = newContraints;
})
}
};
});

答案 0 :(得分:0)
我不知道这有什么用处,但是当你认为合适时,你当然可以打电话给valdrProvider.addConstraints()
。在link: function ($scope, valdrProvider)
中,您可以访问提供商。
答案 1 :(得分:0)
问题在于命名。 Angular提供了两种配置提供程序的方法。 1.在配置阶段 - 这里你必须附加“Provider”后缀。 2.在运行期间 - 在这里你只需要获得服务。
将valdrProvider
更改为valdr
,您可以在服务/控制器中添加约束