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:
commit
fa9ff8b014
|
|
@ -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 },
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue