feat(customers): update required validations in CreateCustomer form

- Add `required` to username, email, role, and type fields
- Make companies selection optional (remove validation)
- Require password only in create mode (`!editMode`)
This commit is contained in:
AmirReza Jamali
2025-11-30 09:56:09 +03:30
parent fa6ffc59aa
commit 918c562cfc
@@ -47,6 +47,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
label="Username" label="Username"
type="text" type="text"
placeholder="Enter username" placeholder="Enter username"
required
/> />
{errors.username && ( {errors.username && (
<p className="mt-1 text-sm text-red-500"> <p className="mt-1 text-sm text-red-500">
@@ -67,11 +68,8 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
: [] : []
} }
placeholder="Select companies to assign" placeholder="Select companies to assign"
{...register("companies", { {...register("companies")}
required: "Please select at least one interest",
})}
errors={errors} errors={errors}
required
/> />
</div> </div>
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
@@ -86,6 +84,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
name="email" name="email"
label="Email" label="Email"
type="email" type="email"
required
placeholder="Enter email" placeholder="Enter email"
/> />
{errors.email && ( {errors.email && (
@@ -102,6 +101,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
value={watch("role")} value={watch("role")}
items={getEnumAsArray(AdminRoles)} items={getEnumAsArray(AdminRoles)}
placeholder="Select Role" placeholder="Select Role"
required
/> />
</div> </div>
{!editMode && ( {!editMode && (
@@ -123,6 +123,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
label="Password" label="Password"
type="password" type="password"
placeholder="Enter password" placeholder="Enter password"
required={!editMode}
/> />
{errors.password && ( {errors.password && (
<p className="mt-1 text-sm text-red-500"> <p className="mt-1 text-sm text-red-500">
@@ -184,6 +185,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
})} })}
name="type" name="type"
label="Type" label="Type"
required
value={watch("type")} value={watch("type")}
placeholder="Select Type" placeholder="Select Type"
prefixIcon={<GlobeIcon />} prefixIcon={<GlobeIcon />}