fix: erros for Create guilds

This commit is contained in:
2026-02-01 15:01:58 +03:30
parent cf11b64d8e
commit 74ba1dddb6
9 changed files with 105 additions and 144 deletions

View File

@@ -3,27 +3,19 @@ import { normalizeDatabaseDate } from "./dateUtils";
/**
* Creates validation schema for the form
* @param {boolean} isEditMode - Whether we're editing an existing guild
* @param {boolean} isEditMode - Whether we're editing an existing guild (kept for API compatibility)
*/
// eslint-disable-next-line no-unused-vars
export const getValidationSchema = (isEditMode) =>
yup.object({
national_id: yup
.string()
.required("کد ملی الزامی است")
.matches(/^[0-9]{10}$/, "کد ملی باید 10 رقم باشد"),
mobile: isEditMode
? yup
.string()
.nullable()
.test(
"mobile-format",
"شماره تلفن باید 11 رقم باشد",
(value) => !value || /^[0-9]{11}$/.test(value)
)
: yup
.string()
.required("شماره تلفن الزامی است")
.matches(/^[0-9]{11}$/, "شماره تلفن باید 11 رقم باشد"),
mobile: yup
.string()
.required("شماره همراه الزامی است")
.matches(/^[0-9]{11}$/, "شماره تلفن باید 11 رقم باشد"),
first_name: yup.string(),
last_name: yup.string(),
guild_name: yup.string(),
@@ -51,22 +43,18 @@ export const getValidationSchema = (isEditMode) =>
.array()
.min(1, "حداقل یک واحد صنفی باید وجود داشته باشد")
.of(
yup.object({
steward: yup.boolean().default(false),
guild: yup.boolean().default(false),
})
)
.test(
"steward-guild-required",
"برای هر واحد صنفی، حداقل یکی از گزینه‌های مباشر یا صنف باید انتخاب شود",
function (guilds) {
if (!guilds || guilds.length === 0) {
return false;
}
return guilds.every(
(guild) => guild?.steward === true || guild?.guild === true
);
}
yup
.object({
license_number: yup.string().required("شماره مجوز الزامی است"),
steward: yup.boolean(),
guild: yup.boolean(),
})
.test(
"steward-guild-required",
"برای هر واحد صنفی، حداقل یکی از گزینه‌های مباشر یا صنف باید انتخاب شود",
(value) => value?.steward === true || value?.guild === true
)
),
});