Compare commits

...

2 Commits

3 changed files with 26 additions and 9 deletions

View File

@ -76,6 +76,8 @@ const ContactInfro = ({ onNext }) => {
type="text" type="text"
className={`form-control form-control-sm `} className={`form-control form-control-sm `}
{...register("contactNumber")} {...register("contactNumber")}
inputMode="tel"
placeholder="+91 9876543210"
/> />
{errors.contactNumber && ( {errors.contactNumber && (
<div className="danger-text">{errors.contactNumber.message}</div> <div className="danger-text">{errors.contactNumber.message}</div>

View File

@ -87,7 +87,8 @@ const EditProfile = ({ TenantId,onClose }) => {
<div className="col-sm-6 mt-1"> <div className="col-sm-6 mt-1">
<Label htmlFor="contactNumber" required>Contact Number</Label> <Label htmlFor="contactNumber" required>Contact Number</Label>
<input id="contactNumber" type="text" className="form-control form-control-sm" {...register("contactNumber")} /> <input id="contactNumber" type="text" className="form-control form-control-sm" {...register("contactNumber")} inputMode="tel"
placeholder="+91 9876543210" />
{errors.contactNumber && <div className="danger-text">{errors.contactNumber.message}</div>} {errors.contactNumber && <div className="danger-text">{errors.contactNumber.message}</div>}
</div> </div>

View File

@ -1,8 +1,14 @@
import { z } from "zod"; import { z } from "zod";
export const newTenantSchema = z.object({ export const newTenantSchema = z.object({
firstName: z.string().nonempty("First name is required"), firstName: z
lastName: z.string().nonempty("Last name is required"), .string()
.min(1, { message: "First Name is required!" })
.regex(/^[A-Za-z]+$/, { message: "First Name should contain only letters!" }),
lastName: z
.string()
.min(1, { message: "Last Name is required!" })
.regex(/^[A-Za-z]+$/, { message: "Last Name should contain only letters!" }),
email: z.string().email("Invalid email address"), email: z.string().email("Invalid email address"),
description: z.string().optional(), description: z.string().optional(),
domainName: z.string().nonempty("Domain name is required"), domainName: z.string().nonempty("Domain name is required"),
@ -11,7 +17,9 @@ export const newTenantSchema = z.object({
logoImage: z.string().optional(), logoImage: z.string().optional(),
organizationName: z.string().nonempty("Organization name is required"), organizationName: z.string().nonempty("Organization name is required"),
officeNumber: z.string().nonempty("Office number is required"), officeNumber: z.string().nonempty("Office number is required"),
contactNumber: z.string().nonempty("Contact number is required"), contactNumber: z.string()
.nonempty("Contact number is required")
.regex(/^\+?[1-9]\d{7,14}$/, "Enter a valid contact number"),
onBoardingDate: z.preprocess((val) => { onBoardingDate: z.preprocess((val) => {
if (typeof val === "string" && val.includes("-")) { if (typeof val === "string" && val.includes("-")) {
const [day, month, year] = val.split("-"); const [day, month, year] = val.split("-");
@ -123,17 +131,23 @@ export const getStepFields = (stepIndex) => {
}; };
export const EditTenant = z.object({ export const EditTenant = z.object({
firstName: z.string().min(1, { message: "First Name is required!" }), firstName: z
lastName: z.string().min(1, { message: "Last Name is required!" }), .string()
.min(1, { message: "First Name is required!" })
.regex(/^[A-Za-z]+$/, { message: "First Name should contain only letters!" }),
lastName: z
.string()
.min(1, { message: "Last Name is required!" })
.regex(/^[A-Za-z]+$/, { message: "Last Name should contain only letters!" }),
description: z.string().optional(), description: z.string().optional(),
domainName: z.string().min(1, { message: "Domain Name is required!" }), domainName: z.string().min(1, { message: "Domain Name is required!" }),
billingAddress: z.string().min(1, { message: "Billing Address is required!" }), billingAddress: z.string().min(1, { message: "Billing Address is required!" }),
taxId: z.string().min(1, { message: "Tax ID is required!" }), taxId: z.string().min(1, { message: "Tax ID is required!" }),
logoImage: z.string().optional(), logoImage: z.string().optional(),
officeNumber: z.string().min(1, { message: "Office Number is required!" }), officeNumber: z.string().min(1, { message: "Office Number is required!" }),
contactNumber: z contactNumber: z.string()
.string() .nonempty("Contact number is required")
.min(10, { message: "Contact Number must be at least 10 digits!" }), .regex(/^\+?[1-9]\d{7,14}$/, "Enter a valid contact number"),
organizationSize: z.string().min(1, { message: "Organization Size is required!" }), organizationSize: z.string().min(1, { message: "Organization Size is required!" }),
industryId: z.string().min(1,{ message: "Invalid Industry ID!" }), industryId: z.string().min(1,{ message: "Invalid Industry ID!" }),
reference: z.string().optional(), reference: z.string().optional(),