verificator
Version:
Client and server-side validation JavaScript library
15 lines (14 loc) • 639 B
JavaScript
import requireParameterCount from './helpers/requireParameterCount';
import parseDate from 'date-fns/parse';
import formatDate from 'date-fns/format';
import isEqual from 'date-fns/isEqual';
const validate = (attribute, value, parameters, validator) => {
requireParameterCount(1, parameters, 'date_format');
if (typeof value !== 'string' && typeof value !== 'number') {
return false;
}
const [format] = parameters;
const date = parseDate(String(value), String(format), new Date());
return date && (formatDate(date, format) === value || isEqual(formatDate(date, format), value));
};
export default validate;