fix sql
This commit is contained in:
+30
-16
@@ -38,6 +38,7 @@ import { persianToEnglishDigits } from '@/utils/persianDigits'
|
||||
export const mobileValidation = (title?: string): Rule => {
|
||||
const label = title ?? 'شماره تلفن'
|
||||
return {
|
||||
transform: (value) => persianToEnglishDigits(String(value ?? '').trim()),
|
||||
validator: (_rule, value) => {
|
||||
const normalized = persianToEnglishDigits(String(value ?? '').trim())
|
||||
if (!normalized) {
|
||||
@@ -94,14 +95,20 @@ const isValidNationalCode = (code) => {
|
||||
return +chars[9] === lastDigit
|
||||
}
|
||||
export const requireNationalCode = (code?: string) => {
|
||||
return {required: true, validator: validateNCode, trigger: 'change'}
|
||||
return {
|
||||
required: true,
|
||||
transform: (value) => persianToEnglishDigits(String(value ?? '').trim()),
|
||||
validator: validateNCode,
|
||||
trigger: 'change',
|
||||
}
|
||||
}
|
||||
|
||||
async function validateNCode(rule: Rule, value: any) {
|
||||
if (!value) {
|
||||
const normalized = persianToEnglishDigits(String(value ?? '').trim())
|
||||
if (!normalized) {
|
||||
return Promise.reject('وارد کردن کد ملی الزامیست')
|
||||
}
|
||||
if (isValidNationalCode(value)) return Promise.resolve()
|
||||
if (isValidNationalCode(normalized)) return Promise.resolve()
|
||||
else return Promise.reject('کد ملی وارد شده نامعتبر است')
|
||||
}
|
||||
|
||||
@@ -153,13 +160,16 @@ let isBuyP=true
|
||||
let NumP=0
|
||||
let groupTypeP: string | undefined
|
||||
let meltedBalanceP = 0
|
||||
const checkNumber = async (_rule: Rule, value: number) => {
|
||||
|
||||
|
||||
if (!value) {
|
||||
const checkNumber = async (_rule: Rule, value: number | string) => {
|
||||
const normalizedRaw = persianToEnglishDigits(String(value ?? '').trim())
|
||||
if (!normalizedRaw) {
|
||||
return Promise.reject('تعداد محصول را مشخص کنید');
|
||||
}
|
||||
if (value % 1 !== 0) {
|
||||
const numericValue = Number(normalizedRaw)
|
||||
if (!Number.isFinite(numericValue)) {
|
||||
return Promise.reject('تعداد محصول را مشخص کنید');
|
||||
}
|
||||
if (numericValue % 1 !== 0) {
|
||||
return Promise.reject('استفاده از اعداد اعشاری مجاز نمی باشد')
|
||||
}
|
||||
if (isBuyP){
|
||||
@@ -170,14 +180,14 @@ if (isBuyP){
|
||||
if (!meltedBalanceP && isMainMetalWalletDealMethod(methodP)){
|
||||
return Promise.reject(getInsufficientGoldWalletMessage(groupTypeP, methodP))
|
||||
}
|
||||
if (priceP * value > availableCash && isCashLikeDealMethod(methodP))
|
||||
if (priceP * numericValue > availableCash && isCashLikeDealMethod(methodP))
|
||||
return Promise.reject(getInsufficientCashWalletMessage(groupTypeP))
|
||||
if (amountP * value > meltedBalanceP && isMainMetalWalletDealMethod(methodP))
|
||||
if (amountP * numericValue > meltedBalanceP && isMainMetalWalletDealMethod(methodP))
|
||||
return Promise.reject(getInsufficientGoldWalletMessage(groupTypeP, methodP))
|
||||
else
|
||||
return Promise.resolve();
|
||||
}else {
|
||||
if (value > NumP)
|
||||
if (numericValue > NumP)
|
||||
return Promise.reject('موجودی محصول ناکافی است')
|
||||
else
|
||||
return Promise.resolve();
|
||||
@@ -200,6 +210,7 @@ export const justNumber2 = (
|
||||
meltedBalanceP = meltedBalance ?? 0
|
||||
return {
|
||||
required: true,
|
||||
transform: (value) => persianToEnglishDigits(String(value ?? '').trim()),
|
||||
validator: checkNumber,
|
||||
trigger: 'change'
|
||||
}
|
||||
@@ -211,6 +222,7 @@ export const justNumber3 = (price: number, Num?:number ,isBuy?:boolean) => {
|
||||
isBuyP=isBuy
|
||||
return {
|
||||
required: true,
|
||||
transform: (value) => persianToEnglishDigits(String(value ?? '').trim()),
|
||||
validator: checkNumber,
|
||||
trigger: 'change'
|
||||
}
|
||||
@@ -233,14 +245,16 @@ export const guideTypePassword = ref<{}>({
|
||||
export const passwordRules = () => {
|
||||
return [
|
||||
{
|
||||
transform: (value) => persianToEnglishDigits(String(value ?? '')),
|
||||
validator: (rule: Rule, value: any) => {
|
||||
if (value.length < 6) {
|
||||
const normalized = persianToEnglishDigits(String(value ?? ''))
|
||||
if (normalized.length < 6) {
|
||||
return Promise.reject('رمز عبور حداقل 6 رقم')
|
||||
}
|
||||
const lengthCriteria = value.length >= 8
|
||||
const letterCriteria = /[A-Za-z]/.test(value)
|
||||
const numberCriteria = /\d/.test(value)
|
||||
const specialCharacterCriteria = /[@$!%*#?&]/.test(value)
|
||||
const lengthCriteria = normalized.length >= 8
|
||||
const letterCriteria = /[A-Za-z]/.test(normalized)
|
||||
const numberCriteria = /\d/.test(normalized)
|
||||
const specialCharacterCriteria = /[@$!%*#?&]/.test(normalized)
|
||||
const criteriaMet = [
|
||||
lengthCriteria,
|
||||
letterCriteria,
|
||||
|
||||
Reference in New Issue
Block a user