Merge pull request 'Special Characters Shoulsd not Allowed in Name Fields' (#339) from Kartik_Bug#910 into Issues_Aug_1W
Reviewed-on: #339
This commit is contained in:
commit
a862500fd7
@ -16,13 +16,13 @@ import {
|
|||||||
getCachedData,
|
getCachedData,
|
||||||
} from "../../slices/apiDataManager";
|
} from "../../slices/apiDataManager";
|
||||||
import { clearApiCacheKey } from "../../slices/apiCacheSlice";
|
import { clearApiCacheKey } from "../../slices/apiCacheSlice";
|
||||||
import {useMutation} from "@tanstack/react-query";
|
import { useMutation } from "@tanstack/react-query";
|
||||||
|
|
||||||
const mobileNumberRegex = /^[0-9]\d{9}$/;
|
const mobileNumberRegex = /^[0-9]\d{9}$/;
|
||||||
|
|
||||||
const ManageEmployee = ({ employeeId, onClosed,IsAllEmployee }) => {
|
const ManageEmployee = ({ employeeId, onClosed, IsAllEmployee }) => {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const { mutate: updateEmployee, isPending } = useUpdateEmployee();
|
const { mutate: updateEmployee, isPending } = useUpdateEmployee();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
employee,
|
employee,
|
||||||
@ -130,12 +130,11 @@ const { mutate: updateEmployee, isPending } = useUpdateEmployee();
|
|||||||
.min(1, { message: "Phone Number is required" })
|
.min(1, { message: "Phone Number is required" })
|
||||||
.regex(mobileNumberRegex, { message: "Invalid phone number " }),
|
.regex(mobileNumberRegex, { message: "Invalid phone number " }),
|
||||||
jobRoleId: z.string().min(1, { message: "Role is required" }),
|
jobRoleId: z.string().min(1, { message: "Role is required" }),
|
||||||
} );
|
});
|
||||||
|
|
||||||
useEffect( () =>
|
useEffect(() => {
|
||||||
{
|
|
||||||
refetch()
|
refetch()
|
||||||
},[])
|
}, [])
|
||||||
|
|
||||||
const {
|
const {
|
||||||
register,
|
register,
|
||||||
@ -170,18 +169,18 @@ const { mutate: updateEmployee, isPending } = useUpdateEmployee();
|
|||||||
|
|
||||||
const AadharNumberValue = watch("aadharNumber") || "";
|
const AadharNumberValue = watch("aadharNumber") || "";
|
||||||
|
|
||||||
const onSubmit = (data) => {
|
const onSubmit = (data) => {
|
||||||
if (data.email === "") {
|
if (data.email === "") {
|
||||||
data.email = null;
|
data.email = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateEmployee({...data,IsAllEmployee},{
|
updateEmployee({ ...data, IsAllEmployee }, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
reset();
|
reset();
|
||||||
onClosed();
|
onClosed();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -220,66 +219,82 @@ const { mutate: updateEmployee, isPending } = useUpdateEmployee();
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<form onSubmit={handleSubmit( onSubmit )} className="p-sm-0 p-2">
|
<form onSubmit={handleSubmit(onSubmit)} className="p-sm-0 p-2">
|
||||||
<div className="text-center"><p className="fs-6 fw-semibold"> {employee ? "Update Employee" : "Create Employee"}</p> </div>
|
<div className="text-center"><p className="fs-6 fw-semibold"> {employee ? "Update Employee" : "Create Employee"}</p> </div>
|
||||||
<div className="row mb-3">
|
<div className="row mb-3">
|
||||||
<div className="col-sm-4">
|
<div className="col-sm-4">
|
||||||
{" "}
|
<div className="form-text text-start">First Name</div>
|
||||||
<div className="form-text text-start">First Name</div>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="FirstName"
|
|
||||||
{...register("firstName")}
|
|
||||||
className="form-control form-control-sm"
|
|
||||||
id="firstName"
|
|
||||||
placeholder="First Name"
|
|
||||||
/>
|
|
||||||
{errors.firstName && (
|
|
||||||
<div
|
|
||||||
className="danger-text text-start"
|
|
||||||
style={{ fontSize: "12px" }}
|
|
||||||
>
|
|
||||||
{errors.firstName.message}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>{" "}
|
|
||||||
<div className="col-sm-4">
|
|
||||||
<div className="form-text text-start">Middle Name</div>
|
|
||||||
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
{...register("middleName")}
|
name="firstName"
|
||||||
|
{...register("firstName", {
|
||||||
|
required: "First name is required",
|
||||||
|
pattern: {
|
||||||
|
value: /^[A-Za-z\s]+$/, // Only letters and spaces
|
||||||
|
message: "Only letters are allowed",
|
||||||
|
},
|
||||||
|
})}
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
id="middleName"
|
id="firstName"
|
||||||
placeholder="Middle Name"
|
placeholder="First Name"
|
||||||
|
onInput={(e) => {
|
||||||
|
e.target.value = e.target.value.replace(/[^A-Za-z\s]/g, "");
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{errors.middleName && (
|
{errors.firstName && (
|
||||||
<div
|
<div className="danger-text text-start" style={{ fontSize: "12px" }}>
|
||||||
className="danger-text text-start "
|
{errors.firstName.message}
|
||||||
style={{ fontSize: "12px" }}
|
|
||||||
>
|
|
||||||
{errors.middleName.message}
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
<div className="col-sm-4">
|
||||||
|
<div className="form-text text-start">Middle Name</div>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
{...register("middleName", {
|
||||||
|
pattern: {
|
||||||
|
value: /^[A-Za-z\s]+$/, // Only letters and spaces
|
||||||
|
message: "Only letters are allowed",
|
||||||
|
},
|
||||||
|
})}
|
||||||
|
className="form-control form-control-sm"
|
||||||
|
id="middleName"
|
||||||
|
placeholder="Middle Name"
|
||||||
|
onInput={(e) => {
|
||||||
|
e.target.value = e.target.value.replace(/[^A-Za-z\s]/g, "");
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{errors.middleName && (
|
||||||
|
<div className="danger-text text-start " style={{ fontSize: "12px" }}>
|
||||||
|
{errors.middleName.message}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="col-sm-4">
|
<div className="col-sm-4">
|
||||||
<div className="form-text text-start">Last Name</div>
|
<div className="form-text text-start">Last Name</div>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
{...register("lastName")}
|
{...register("lastName", {
|
||||||
|
pattern: {
|
||||||
|
value: /^[A-Za-z\s]+$/, // Only letters and spaces
|
||||||
|
message: "Only letters are allowed",
|
||||||
|
},
|
||||||
|
})}
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
id="lastName"
|
id="lastName"
|
||||||
placeholder="Last Name"
|
placeholder="Last Name"
|
||||||
|
onInput={(e) => {
|
||||||
|
e.target.value = e.target.value.replace(/[^A-Za-z\s]/g, "");
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{errors.lastName && (
|
{errors.lastName && (
|
||||||
<div
|
<div className="danger-text text-start" style={{ fontSize: "12px" }}>
|
||||||
className="danger-text text-start"
|
|
||||||
style={{ fontSize: "12px" }}
|
|
||||||
>
|
|
||||||
{errors.lastName.message}
|
{errors.lastName.message}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="row mb-3">
|
<div className="row mb-3">
|
||||||
<div className="col-sm-6">
|
<div className="col-sm-6">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user