我一直在尝试使用Valdr AngularJs插件构建自定义验证器但没有成功。
我要归档的是一个输入文本,它应该接收日期和时间格式,如:dd / MM / yyyy hh:mm(2015年12月12日12:32:10)
基于Valdr文档,这是我到目前为止所做的:
myApp.factory('customValidator', function () {
return {
name: 'customValidator', // this is the validator name that can be referenced from the constraints JSON
validate: function (value, arguments) {
// value: the value to validate
// arguments: the validator arguments
return value === arguments.onlyValidValue;
}
};
});
myApp.config(function(valdrProvider)
{
valdrProvider.addValidator('customValidator');
valdrProvider.addConstraints(
{
'Person':
{
'date_send':
{
'customValidator':
{
'onlyValidValue':'^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$|^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2}\s([0-1]\d|[2][0-3])\:[0-5]\d\:[0-5]\d)$',
'message': 'Please date and time format has to be : 12/04/2015 12:32:10'
}
}
}
});
});
然后在我的表格中,我有以下内容:
<input class="input" name="date_send" id="date_send" type="text" ng-model="date_send" />
但它没有用。
我将不胜感激。
谢谢!
答案 0 :(得分:0)
我无法100%确定,因为你没有提供足够的代码,但我猜你的输入字段声明应该是
ng-model="person.date_send"
而不是
ng-model="date_send"
如需参考,请查看custom validator demo。如果您能为plunker提供完整的样本,这总是有用的。