export function inputRules(title?: string) { if (title) { return [{ required: true, message: `پر کردن ${title} الزامی است` }] } else { return [{ required: true, message: `پر کردن مورد بالا الزامی است` }] } } /** فیلد قیمت/عدد — خالی رد می‌شود، صفر مجاز است */ export function requiredPriceRules(title?: string) { const label = title || 'مورد بالا' return [ { validator(_rule: unknown, value: unknown) { if (value === undefined || value === null || String(value).trim() === '') { return Promise.reject(`پر کردن ${label} الزامی است`) } const num = Number(String(value).replaceAll(',', '')) if (!Number.isFinite(num)) { return Promise.reject('لطفاً عدد معتبر وارد کنید') } return Promise.resolve() }, trigger: ['change', 'blur'], }, ] } export function inputRulesNumber(title?: string) { if (title) { return [ { required: true, message: `پر کردن ${title} الزامی است` }, { required: true, type: 'regexp', pattern: /\d+/g, message: 'لطفا اطلاعات را به صورت عدد و نقطه وارد کنید' } ] } else { return [ { required: true, message: `پر کردن مورد بالا الزامی است` }, { required: true, type: 'regexp', pattern: /\d+/g, message: 'لطفا اطلاعات را به صورت عدد و نقطه وارد کنید' } ] } } export function inputLenRules(len: number, title?: string) { if (title) { return [ { required: true, message: `پر کردن ${title} الزامی است` }, { len: len, message: `تعداد کاراکتر باید ${len} عدد باشد` } ] } else { return [ { required: true, message: 'پر کردن مورد بالا الزامی است' }, { len: len, message: `تعداد کاراکتر باید ${len} عدد باشد` } ] } } export const valueValidation = computed(() => { const temp = inputRules() temp.push({ pattern: /^[A-Za-z]*$/, message: 'فقط حروف انگلیسی مجاز است' }) return temp })