我一直在嘗試使用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