Я пытаюсь создать пользовательский валидатор, используя плагин Valdr AngularJs без каких-либо успехов.Building Valdr custom validator
То, что я хочу, чтобы архив является ввод текста, который должен получить формат даты и времени, как: дд/мм/гггг чч: мм (12/04/2015 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" />
Bu t это не работает.
Буду признателен за любую помощь.
Спасибо!
Спасибо, мой дорогой. Ваш пользовательский валидатор работает на 100%, но только для определенного значения. Когда я заменил в вашем случае Hanueli (ожидаемое значение) на регулярное выражение (например.^(([0-2] \ d | [3] [0-1]) \/([0] \ d | [1] [0-2]) \/[2] [0] \ d {2}) $ |^(([0-2] \ д | [3] [0-1]) \/([0] \ д | [1] [0-2]) \/[2] [0] \ d {2} \ с ([0-1] \ д | [2] [0-3]) \: [0-5] \ d \: [0-5] \ d) $), он не работает. – user3345942