From 82ed35c69394561eb24d37cee7edde1ab5ee8980 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期二, 18 三月 2025 13:58:54 +0800 Subject: [PATCH] 校验修改 --- management/src/pages/party/manage/components/addAndEdit.jsx | 62 +++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 12 deletions(-) diff --git a/management/src/pages/party/manage/components/addAndEdit.jsx b/management/src/pages/party/manage/components/addAndEdit.jsx index 69fa555..0f32a36 100644 --- a/management/src/pages/party/manage/components/addAndEdit.jsx +++ b/management/src/pages/party/manage/components/addAndEdit.jsx @@ -60,7 +60,7 @@ }) } - + if (searchParams.get('id')) { getDetail(searchParams.get('id')).then(res => { setUserInfo(() => res.data) @@ -137,27 +137,60 @@ } const checkIdCard = (rule, value) => { const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; - if (!reg.test(value)) { + if ((!reg.test(value)) && value) { return Promise.reject('请输入正确的身份证号码'); } return Promise.resolve(); }; - const checkPhone = (rule, value) => { + const checkPhone = async (rule, value) => { const reg = /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/; - if (!reg.test(value)) { + if ((!reg.test(value)) && value) { return Promise.reject('请输入正确的手机号码'); } - return Promise.resolve(); + if (Object.keys(userInfo).length > 0 && userInfo.phone == value) { + return Promise.resolve() + } + const res = await verifyPhone({ phone:value }) + if (res.data === true) { + return Promise.reject('该手机号已注册党员信息'); + } else { + return Promise.resolve(); + } + + }; - const checkPhoneUse = (e) => { + const checkPhoneUse = async (e) => { if (Object.keys(userInfo).length > 0 && userInfo.phone == e.target.value) { return Promise.resolve() } - verifyPhone({ phone: e.target.value }).then(res => { - if (res.code != 200) { - message.warning('该手机号已注册党员信息') + try { + const res = await verifyPhone({ phone: e.target.value }) + if (res.data === false) { + form.setFields([ + { + name: 'phone', + errors: ['该手机号已注册党员信息'], + // touched: true + } + ]) + } else { + form.setFields([ + { + name: 'phone', + errors: [], + touched: true + } + ]) } - }) + } catch (error) { + form.setFields([ + { + name: 'phone', + errors: ['验证手机号失败,请重试'], + touched: true + } + ]) + } } @@ -178,9 +211,14 @@ </Form.Item> <Form.Item name="phone" - label='联系电话' rules={[{ required: true, message: '请输入党员联系电话' }, { validator: checkPhone }]} + label='联系电话' + validateTrigger={['onBlur']} + rules={[ + { required: true, message: '请输入党员联系电话' }, + { validator: checkPhone } + ]} > - <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={11} onBlur={checkPhoneUse} ></Input> + <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={11}></Input> </Form.Item> <Form.Item name="idNumber" -- Gitblit v1.7.1