UNPKG

verificator

Version:

Client and server-side validation JavaScript library

15 lines (14 loc) 639 B
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;