fix bank-card validation bug
This commit is contained in:
@@ -10,7 +10,7 @@ import { bankCardFormSchema } from '@/app/actions/definitions';
|
||||
import { useTranslations } from 'next-intl';
|
||||
|
||||
interface cardInfoType {
|
||||
cardType: string,
|
||||
cardType: string | null,
|
||||
potentiallyValid: boolean,
|
||||
cardValid?: boolean
|
||||
}
|
||||
@@ -110,15 +110,23 @@ export default function BankCard() {
|
||||
}
|
||||
|
||||
if (e.target.value.length === 19 && !numberValidation.isValid) {
|
||||
setCardInfo((prev) => {
|
||||
if (prev) {
|
||||
return {
|
||||
...prev,
|
||||
cardValid: false
|
||||
if (cardInfo) {
|
||||
setCardInfo((prev) => {
|
||||
if (prev) {
|
||||
return {
|
||||
...prev,
|
||||
cardValid: false
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
})
|
||||
return null;
|
||||
});
|
||||
} else {
|
||||
setCardInfo({
|
||||
cardType: null,
|
||||
potentiallyValid: false,
|
||||
cardValid: false
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (validatedField.success) {
|
||||
@@ -162,7 +170,7 @@ export default function BankCard() {
|
||||
disabled={!isEditing}
|
||||
isValid={cardInfo?.cardValid}
|
||||
/>
|
||||
{/* */}
|
||||
|
||||
{cardInfo && (
|
||||
<div
|
||||
className="card-type"
|
||||
@@ -173,6 +181,7 @@ export default function BankCard() {
|
||||
</div>
|
||||
{cardInfo?.cardValid === false && (
|
||||
<p className="text-sm text-red-500">
|
||||
{/* */}
|
||||
<span>
|
||||
{t('bank-card-not-valid')}
|
||||
</span>
|
||||
@@ -248,7 +257,7 @@ export default function BankCard() {
|
||||
setIsEditing(true)
|
||||
}}
|
||||
>
|
||||
Изменить
|
||||
{t('change')}
|
||||
</button>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user