Files
boursecu_admin/src/utils/productOrderLimit.ts
T
2026-06-07 10:58:23 +03:30

35 lines
1.2 KiB
TypeScript

export function validateProductOrderLimitForm(form: {
order_limit_enabled?: boolean
min_order_cash?: number | string | null
max_order_cash?: number | string | null
}): string | null {
if (!form.order_limit_enabled) return null
const min = form.min_order_cash
const max = form.max_order_cash
const hasMin = min != null && min !== ''
const hasMax = max != null && max !== ''
if (!hasMin && !hasMax) {
return 'با فعال بودن محدودیت مبلغ سفارش، حداقل یکی از حداقل یا حداکثر مبلغ باید وارد شود'
}
if (hasMin && hasMax && Number(min) > Number(max)) {
return 'حداقل مبلغ نمی‌تواند بیشتر از حداکثر باشد'
}
return null
}
export function normalizeProductOrderLimitForm<T extends Record<string, any>>(data: T): T {
data.order_limit_enabled = !!data.order_limit_enabled
if (!data.order_limit_enabled) {
data.min_order_cash = undefined
data.max_order_cash = undefined
} else {
data.min_order_cash = data.min_order_cash != null && data.min_order_cash !== '' ? data.min_order_cash : undefined
data.max_order_cash = data.max_order_cash != null && data.max_order_cash !== '' ? data.max_order_cash : undefined
}
return data
}