| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /**
- * Frontend route parameter validation helpers (RHL-021).
- *
- * Goals:
- * - Catch obviously invalid params early (before any API calls / UI rendering).
- * - Keep helpers pure and easily testable.
- *
- * Conventions:
- * - branch: "NL01" (strict, uppercase)
- * - year: "YYYY"
- * - month: "MM" (01-12)
- * - day: "DD" (01-31)
- */
- const BRANCH_RE = /^NL\d{2}$/;
- const YEAR_RE = /^\d{4}$/;
- const MONTH_RE = /^(0[1-9]|1[0-2])$/;
- const DAY_RE = /^(0[1-9]|[12]\d|3[01])$/;
- /**
- * @param {unknown} value
- * @returns {boolean}
- */
- export function isValidBranchParam(value) {
- return typeof value === "string" && BRANCH_RE.test(value);
- }
- /**
- * @param {unknown} value
- * @returns {boolean}
- */
- export function isValidYearParam(value) {
- return typeof value === "string" && YEAR_RE.test(value);
- }
- /**
- * @param {unknown} value
- * @returns {boolean}
- */
- export function isValidMonthParam(value) {
- return typeof value === "string" && MONTH_RE.test(value);
- }
- /**
- * @param {unknown} value
- * @returns {boolean}
- */
- export function isValidDayParam(value) {
- return typeof value === "string" && DAY_RE.test(value);
- }
|