Adding validation in Contact number and adding trim functioanlity.
This commit is contained in:
parent
2252a9c489
commit
031201ea56
@ -150,6 +150,7 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
{...register("name")}
|
{...register("name")}
|
||||||
|
placeholder="Enter Project Name.."
|
||||||
/>
|
/>
|
||||||
{errors?.name && (
|
{errors?.name && (
|
||||||
<span className="danger-text">{errors.name.message}</span>
|
<span className="danger-text">{errors.name.message}</span>
|
||||||
@ -163,6 +164,7 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
{...register("shortName")}
|
{...register("shortName")}
|
||||||
|
placeholder="Enter Project Short Name.."
|
||||||
/>
|
/>
|
||||||
{errors?.shortName && (
|
{errors?.shortName && (
|
||||||
<span className="danger-text">{errors.shortName.message}</span>
|
<span className="danger-text">{errors.shortName.message}</span>
|
||||||
@ -207,6 +209,10 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
{...register("contactName")}
|
{...register("contactName")}
|
||||||
|
placeholder="Enter Employee name.."
|
||||||
|
onInput={(e) => {
|
||||||
|
e.target.value = e.target.value.replace(/[^A-Za-z ]/g, "");
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{errors?.contactName && (
|
{errors?.contactName && (
|
||||||
<span className="danger-text">{errors.contactName.message}</span>
|
<span className="danger-text">{errors.contactName.message}</span>
|
||||||
@ -220,6 +226,7 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
{...register("contactEmail")}
|
{...register("contactEmail")}
|
||||||
|
placeholder="Enter Employee Email.."
|
||||||
/>
|
/>
|
||||||
{errors?.contactEmail && (
|
{errors?.contactEmail && (
|
||||||
<span className="danger-text">{errors.contactEmail.message}</span>
|
<span className="danger-text">{errors.contactEmail.message}</span>
|
||||||
@ -231,8 +238,13 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
</Label>
|
</Label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
maxLength={10}
|
||||||
className="form-control form-control-sm"
|
className="form-control form-control-sm"
|
||||||
{...register("contactPhone")}
|
{...register("contactPhone")}
|
||||||
|
placeholder="Enter Employee Contact.."
|
||||||
|
onInput={(e) => {
|
||||||
|
e.target.value = e.target.value.replace(/[^0-9]/g, "");
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{errors?.contactPhone && (
|
{errors?.contactPhone && (
|
||||||
<span className="danger-text">{errors.contactPhone.message}</span>
|
<span className="danger-text">{errors.contactPhone.message}</span>
|
||||||
@ -244,7 +256,7 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
</Label>
|
</Label>
|
||||||
<DatePicker
|
<DatePicker
|
||||||
name="assignedDate"
|
name="assignedDate"
|
||||||
className="w-full"
|
className="w-100"
|
||||||
control={control}
|
control={control}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -258,6 +270,7 @@ const ManageServiceProject = ({ serviceProjectId, onClose }) => {
|
|||||||
className="form-control"
|
className="form-control"
|
||||||
// maxLength={maxAddressLength}
|
// maxLength={maxAddressLength}
|
||||||
{...register("address")}
|
{...register("address")}
|
||||||
|
placeholder="Enter Project Address.."
|
||||||
// onChange={(e) => {
|
// onChange={(e) => {
|
||||||
// setAddressLength(e.target.value.length);
|
// setAddressLength(e.target.value.length);
|
||||||
// }}
|
// }}
|
||||||
|
|||||||
@ -3,21 +3,45 @@ import { PROJECT_STATUS } from "../../utils/constants";
|
|||||||
|
|
||||||
//#region Service Project
|
//#region Service Project
|
||||||
export const projectSchema = z.object({
|
export const projectSchema = z.object({
|
||||||
name: z.string().min(1, "Name is required"),
|
name: z
|
||||||
shortName: z.string().min(1, "Short name is required"),
|
.string()
|
||||||
clientId: z.string().min(1, { message: "Client is required" }),
|
.trim()
|
||||||
|
.min(1, "Name is required"),
|
||||||
|
|
||||||
|
shortName: z
|
||||||
|
.string()
|
||||||
|
.trim()
|
||||||
|
.min(1, "Short name is required"),
|
||||||
|
|
||||||
|
clientId: z.string().trim().min(1, { message: "Client is required" }),
|
||||||
|
|
||||||
services: z
|
services: z
|
||||||
.array(z.string())
|
.array(z.string())
|
||||||
.min(1, { message: "At least one service required" }),
|
.min(1, { message: "At least one service required" }),
|
||||||
address: z.string().min(1, "Address is required"),
|
|
||||||
assignedDate: z.string().min(1, { message: "Date is required" }),
|
address: z.string().trim().min(1, "Address is required"),
|
||||||
statusId: z.string().min(1, "Status is required"),
|
|
||||||
contactName: z.string().min(1, "Contact name is required"),
|
assignedDate: z.string().trim().min(1, { message: "Date is required" }),
|
||||||
|
|
||||||
|
statusId: z.string().trim().min(1, "Status is required"),
|
||||||
|
|
||||||
|
contactName: z
|
||||||
|
.string()
|
||||||
|
.trim()
|
||||||
|
.min(1, "Contact name is required")
|
||||||
|
.regex(/^[A-Za-z\s]+$/, "Contact name can contain only letters"),
|
||||||
|
|
||||||
contactPhone: z
|
contactPhone: z
|
||||||
.string()
|
.string()
|
||||||
|
.trim()
|
||||||
|
.regex(/^\d+$/, "Phone number must contain only digits")
|
||||||
.min(7, "Invalid phone number")
|
.min(7, "Invalid phone number")
|
||||||
.max(15, "Phone number too long"),
|
.max(15, "Phone number too long"),
|
||||||
contactEmail: z.string().email("Invalid email address"),
|
|
||||||
|
contactEmail: z
|
||||||
|
.string()
|
||||||
|
.trim()
|
||||||
|
.email("Invalid email address"),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const defaultProjectValues = {
|
export const defaultProjectValues = {
|
||||||
|
|||||||
@ -51,7 +51,7 @@ const DatePicker = ({
|
|||||||
<div className={`position-relative ${className} w-max `}>
|
<div className={`position-relative ${className} w-max `}>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
className="form-control form-control"
|
className="form-control form-control form-control-sm"
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
value={displayValue}
|
value={displayValue}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user