feat: initial commit

This commit is contained in:
s.esmaeili
2026-09-09 06:46:27 +03:30
commit 0ed6bed028
214 changed files with 20177 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
// Ported from legacy henza_pwa/src/Mixins/validator/index.ts — same rules,
// same messages, verbatim.
export const message = (field: string) => ` مقدار ${field} نا معتبر است `
export const mobile = (field: string) => ({
pattern: /^(\+98|0098|98|0)?9\d{9}$/g,
message: message(field),
})
export const phone = (field: string) => ({
pattern: /^((\+98|0098|98|0)\d1)?\d{8}$/g,
message: message(field),
})
export const fa = (field: string) => ({
pattern: /^([؀-ۿﮊپچگ‌ ])+$/,
message: ` مقدار ${field} باید فارسی باشد `,
})
export const mail = (field: string) => ({ type: 'email', message: message(field) })
export const url = (field: string) => ({ type: 'url', message: message(field) })
export const username = (field: string) => ({
pattern: /^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$/gim,
message: ` مقدار ${field} باید شامل حروف و اعداد انگلیسی و _ باشد `,
})
export const required = (field: string) => ({ required: true, message: ` لطفا ${field} را وارد کنید ` })
export const sheba = (field: string) => ({ pattern: /^IR\d{24}$/gim, message: message(field) })
export const card = (field: string) => ({ pattern: /^\d{16}$/gim, message: message(field) })
export const zip = (field: string) => ({ pattern: /^\d{10}$/gim, message: message(field) })
export const num = (field: string) => ({ pattern: /^\d*$/gim, message: message(field) })
export const len = (field: string, len: number) => ({ len, message: ` مقدار ${field} باید ${len} کارکتر باشد ` })
export const max = (field: string, max: number) => ({ max, message: ` مقدار ${field} باید کمتر از ${max} کارکتر باشد ` })
export const min = (field: string, min: number) => ({ min, message: ` مقدار ${field} باید بیشتر از ${min} کارکتر باشد ` })