Merge pull request 'added validation in customer master' (#255) from temp/customer-master-validation-fix into main

Reviewed-on: Pozomind/pozo-retail-app#255
This commit is contained in:
karthikalakshmi 2026-03-06 11:56:56 +05:30
commit fa9ff8b014
1 changed files with 124 additions and 106 deletions

View File

@ -1,4 +1,4 @@
import { useState, useEffect, useRef } from 'react'; import { useState, useEffect, useRef, useCallback } from 'react';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
import { InputField } from '../../Components/Forms/InputField.jsx'; import { InputField } from '../../Components/Forms/InputField.jsx';
import Buttons from '../../Components/Forms/Buttons.jsx'; import Buttons from '../../Components/Forms/Buttons.jsx';
@ -37,6 +37,7 @@ import { MdLocationOn, MdHome } from 'react-icons/md';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { ApplicationPreferences } from '../../Features/BrachLogin/BranchLogin.js'; import { ApplicationPreferences } from '../../Features/BrachLogin/BranchLogin.js';
import { IoMdAddCircleOutline } from 'react-icons/io'; import { IoMdAddCircleOutline } from 'react-icons/io';
import { isIndianMobile } from '../../utils/calculations.js';
const subDirectory = import.meta.env.BASE_URL; const subDirectory = import.meta.env.BASE_URL;
@ -354,9 +355,15 @@ const CustomerForm = ({ formType }) => {
//post data //post data
const onFinish = async (values) => { const onFinish = async (values) => {
try {
let postData = values; let postData = values;
console.log(postData, 'postData'); console.log(postData, 'postData');
const validMobile = isIndianMobile(postData?.CustMobile);
if (!validMobile) {
setMessageType('warning');
setMessageData('Please enter a valid Indian mobile number.');
return;
}
// Handle address data - use only the addresses from addressesList // Handle address data - use only the addresses from addressesList
const addedAddresses = addressesList || []; const addedAddresses = addressesList || [];
@ -435,6 +442,10 @@ const CustomerForm = ({ formType }) => {
setMessageType('error'); setMessageType('error');
setMessageData(response?.data?.response); setMessageData(response?.data?.response);
} }
} catch (error) {
// Validation error will stop submit
console.log("Validation Failed:", error);
}
}; };
useEffect(() => { useEffect(() => {
@ -841,12 +852,17 @@ const CustomerForm = ({ formType }) => {
); );
}; };
const onComplete = useCallback(() => {
setMessageType(null);
setMessageData(null);
}, []);
return ( return (
<div className="CustomerForm-Master"> <div className="CustomerForm-Master">
<div className="pageOverAll"> <div className="pageOverAll">
<div className="userPage userPageCustMaster"> <div className="userPage userPageCustMaster">
<div className="userPageContent"> <div className="userPageContent">
<Messages messageType={messageType} messageData={messageData} /> <Messages messageType={messageType} messageData={messageData} onComplete={onComplete} />
<div className="formName"> <div className="formName">
<FormHeader title={'Customer'} /> <FormHeader title={'Customer'} />
</div> </div>
@ -865,10 +881,12 @@ const CustomerForm = ({ formType }) => {
rules={[ rules={[
{ {
required: true, required: true,
pattern: /^\d{10}$/, message: "Please Enter Mobile Number",
message: 'Please Enter a Valid Mobile Number', },
{
pattern: /^[6-9]\d{9}$/,
message: "Please enter a valid mobile number",
}, },
{ validator: validatePhoneNumber }, { validator: validatePhoneNumber },
]} ]}
> >