Files
2015-02-26 01:13:51 +00:00

33 lines
1.2 KiB
JavaScript

$(document).ready(function() {
window.ParsleyValidator.addValidator('datefield', function (str, format) {
/**
* Modified version of micro-strptime.js.
* https://github.com/cho45/micro-strptime.js
*/
if (!format) throw Error("Missing format");
fds = {
'%': '%',
'A': '[a-z]+',
'B': '[a-z]+',
'Y': '[0-9]{4}',
'm': '[0-9]{1,2}',
'd': '[0-9]{1,2}',
'H': '[0-9]{1,2}',
'M': '[0-9]{1,2}',
'S': '[0-9]{1,2}',
's': '[0-9]+',
'Z': 'UTC|Z|[+-][0-9][0-9]:?[0-9][0-9]',
'I': '[0-9]{1,2}',
'p': 'AM|PM'
};
// Create a regular expression from the format string, that matches a string of that format.
var re = new RegExp(format.replace(/%(?:([a-zA-Z%])|('[^']+')|("[^"]+"))/g, function (_, a, b, c) {
var fd = a || b || c;
var d = fds[fd];
if (!d) throw Error("Unknown format descripter: " + fd);
return '(' + d + ')';
}), 'i');
return re.test(str);
}, 32).addMessage('en', 'datefield', 'The input needs to be in the correct date format.')
});