我一直在尝试使用Valdr AngularJs插件建立一个自定义验证器,但没有成功。建设Valdr自定义验证器
我希望存档是应该接收的日期和时间格式等的输入文字:DD/MM/YYYY HH:MM(2015年12月4日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" />
卜它不起作用。
我会很感激任何帮助。
谢谢!
谢谢你亲爱的。您的自定义验证工作100%,但仅限于特定的值。当我用正则表达式(例如^(([0-2] \ d | [3] [0-1])\ /([0] \ d | [1])代替Hanueli(期望值) [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)$),它不起作用。 – user3345942