原谅我对AngularJS和valdr的最低限度知识......
我有一个使用AngularJS的应用程序,其中动态生成ui以使用提供的元数据编辑某个对象,以确定解释对象成员的类型。我将添加额外的元数据来为每个成员设置验证规则。
我找到了valdr,我想知道是否可以使用针对每个可编辑字段重复调用的valdrProvider.addConstraints()
来添加规则。据推测,规则名称必须是唯一的吗?
如何在卸载数据时从规则集中删除规则?
这种方法有效还是我应该直接使用AngularJS指令映射规则元数据?
答案 0 :(得分:2)
你的方法听起来不错。 valdr提供了removeConstraint(constraintName)
函数,可以满足您的需求。但请注意,这会删除给定模型类型的所有约束。
以https://github.com/netceteragroup/valdr#getting-started为例。
yourApp.config(function(valdrProvider) {
valdrProvider.addConstraints({
'Person': {
'lastName': {
'size': {
'min': 2,
'max': 10,
'message': 'Last name must be between 2 and 10 characters.'
},
'required': {
'message': 'Last name is required.'
}
},
'firstName': {
'size': {
'min': 2,
'max': 20,
'message': 'First name must be between 2 and 20 characters.'
}
}
}
});
调用removeConstraint('Person')
会删除 Person
的所有约束。如果您只想删除firstName
因为删除了名字输入字段,则可以使用addConstraints
的更新约束定义再次调用Person
。
最后的说明:
Person
类型