feat: add validation for Revolut profile name format
- Add ownerRevolutProfileName field validation when enableRevolutPayment is true - Validate profile name must start with '@' and contain only letters and numbers - Add required field validation for Revolut profile name - Add English and Croatian error messages for validation failures - Update State type to include ownerRevolutProfileName errors Validation regex: /^@[a-zA-Z0-9]+$/ Valid examples: @john123, @ivan, @user2024 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,7 @@ export type State = {
|
||||
ownerTown?: string[];
|
||||
ownerIBAN?: string[];
|
||||
currency?: string[];
|
||||
ownerRevolutProfileName?: string[];
|
||||
};
|
||||
message?: string | null;
|
||||
success?: boolean;
|
||||
@@ -96,6 +97,26 @@ const FormSchema = (t: IntlTemplateFn) => z.object({
|
||||
}, {
|
||||
message: t("currency-required"),
|
||||
path: ["currency"],
|
||||
})
|
||||
.refine((data) => {
|
||||
if (data.enableRevolutPayment) {
|
||||
return !!data.ownerRevolutProfileName && data.ownerRevolutProfileName.trim().length > 0;
|
||||
}
|
||||
return true;
|
||||
}, {
|
||||
message: t("owner-revolut-profile-required"),
|
||||
path: ["ownerRevolutProfileName"],
|
||||
})
|
||||
.refine((data) => {
|
||||
if (data.enableRevolutPayment && data.ownerRevolutProfileName) {
|
||||
const profileName = data.ownerRevolutProfileName.trim();
|
||||
// Must start with @ and contain only English letters and numbers
|
||||
return /^@[a-zA-Z0-9]+$/.test(profileName);
|
||||
}
|
||||
return true;
|
||||
}, {
|
||||
message: t("owner-revolut-profile-invalid"),
|
||||
path: ["ownerRevolutProfileName"],
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
@@ -232,6 +232,8 @@
|
||||
"owner-iban-required": "Valid IBAN is mandatory",
|
||||
"owner-iban-invalid": "Invalid IBAN format. Please enter a valid IBAN",
|
||||
"currency-required": "Currency is mandatory",
|
||||
"owner-revolut-profile-required": "Revolut profile name is mandatory",
|
||||
"owner-revolut-profile-invalid": "Invalid Revolut profile format. Must start with '@' and contain only English letters and numbers (e.g., '@john123')",
|
||||
"validation-failed": "Validation failed. Please check the form and try again."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,6 +236,8 @@
|
||||
"owner-iban-required": "Ispravan IBAN je obavezan",
|
||||
"owner-iban-invalid": "Neispravan IBAN format. Molimo unesite ispravan IBAN.",
|
||||
"currency-required": "Valuta je obavezna",
|
||||
"owner-revolut-profile-required": "Naziv Revolut profila je obavezan",
|
||||
"owner-revolut-profile-invalid": "Neispravan format Revolut profila. Mora počinjati sa '@' i sadržavati samo slova i brojeve (npr. '@ivan123')",
|
||||
"validation-failed": "Validacija nije uspjela. Molimo provjerite formu i pokušajte ponovno."
|
||||
},
|
||||
"payment-additional-notes": "VAŽNO: da bi upute za uplatu bile prikazane podstanaru, morate tu ovu opciju uključiti i u postavkama pripadajuće nekretnine."
|
||||
|
||||
Reference in New Issue
Block a user