35 lines
1.2 KiB
TypeScript
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
|
|
}
|