UNPKG

validlyjs

Version:

ValidlyJS is a lightweight, type-safe validation library inspired by Laravel's validation syntax

39 lines 1.79 kB
export const dateRule = { validate: (value, params, ctx) => !isNaN(Date.parse(params[0])), message: (params, ctx) => { const message = ctx.config.messages?.date; return typeof message === "string" ? ctx.formatMessage({ attribute: ctx.field || "field" }, message) : `${ctx.field} must be a valid date`; }, additionalRules: { after: () => ({ validate: (value, params, ctx) => new Date(value) > new Date(params[0]), message: (params, ctx) => { const message = ctx.config.messages?.after; return typeof message === "string" ? ctx.formatMessage({ attribute: ctx.field || "field" }, message) : `${ctx.field} must be after ${params[0]}`; }, }), before: () => ({ validate: (value, params, ctx) => new Date(value) < new Date(params[0]), message: (params, ctx) => { const message = ctx.config.messages?.before; return typeof message === "string" ? ctx.formatMessage({ attribute: ctx.field || "field" }, message) : `${ctx.field} must be before ${params[0]}`; }, }), date_equals: () => ({ validate: (value, params, ctx) => new Date(value).toDateString() === new Date(params[0]).toDateString(), message: (params, ctx) => { const message = ctx.config.messages?.date_equals; return typeof message === "string" ? ctx.formatMessage({ attribute: ctx.field || "field" }, message) : `${ctx.field} must be equal to ${params[0]}`; }, }), }, }; //# sourceMappingURL=Date.js.map