update:添加运动员手机号非必填
This commit is contained in:
parent
1c36e46c4f
commit
6ee06fbc2b
2
.env
2
.env
@ -8,4 +8,4 @@ VITE_OPEN = true
|
||||
VITE_OPEN_CDN = false
|
||||
|
||||
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
|
||||
VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202605081710/'
|
||||
VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202606040917/'
|
||||
@ -165,7 +165,7 @@
|
||||
:disabled="sending || !isPhoneValid">
|
||||
{{ sending ? `${sendTimer}s` : '获取验证码' }}
|
||||
</el-button>
|
||||
<el-tag v-else type="info" style="margin-left: 8px;">手机号未变更</el-tag>
|
||||
<el-tag v-else-if="formData.mobile && !isMobileChanged" type="info" style="margin-left: 8px;">手机号未变更</el-tag>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 验证码 -->
|
||||
@ -217,6 +217,9 @@ const initParam = ref({
|
||||
})
|
||||
|
||||
const formRules = computed(() => {
|
||||
// 编辑运动员且原来有手机号,则手机号必填;否则非必填
|
||||
const isMobileRequired = !!(formData.value.id && originalMobile.value);
|
||||
|
||||
const baseRules = {
|
||||
name: [
|
||||
{ required: true, message: '请输入运动员姓名', trigger: 'blur' }
|
||||
@ -227,18 +230,30 @@ const formRules = computed(() => {
|
||||
gender: [
|
||||
{ required: true, message: '请选择性别', trigger: 'change' }
|
||||
],
|
||||
mobile: [
|
||||
{ required: true, message: '请输入联系电话', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb) => {
|
||||
const reg = /^1[3-9]\d{9}$/;
|
||||
if (!value) return cb(new Error('请输入联系电话'));
|
||||
if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
|
||||
cb();
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
mobile: isMobileRequired
|
||||
? [
|
||||
{ required: true, message: '请输入联系电话', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb) => {
|
||||
const reg = /^1[3-9]\d{9}$/;
|
||||
if (!value) return cb(new Error('请输入联系电话'));
|
||||
if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
|
||||
cb();
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
: [
|
||||
{
|
||||
validator: (rule, value, cb) => {
|
||||
if (!value) return cb(); // 非必填,允许为空
|
||||
const reg = /^1[3-9]\d{9}$/;
|
||||
if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
|
||||
cb();
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
idCardImageUrl: [
|
||||
{ required: true, message: '请上传身份证照片', trigger: 'change' }
|
||||
],
|
||||
@ -246,8 +261,8 @@ const formRules = computed(() => {
|
||||
{ required: true, message: '请选择出生日期', trigger: 'change' }
|
||||
],
|
||||
};
|
||||
|
||||
// 只在需要验证码时添加验证码验证规则
|
||||
|
||||
// 填写了手机号且手机号发生变更(新增或修改)时,验证码必填
|
||||
if (needVerificationCode.value) {
|
||||
baseRules.verificationCode = [
|
||||
{ required: true, message: '请输入验证码', trigger: 'blur' },
|
||||
@ -305,7 +320,8 @@ const isMobileChanged = computed(() => {
|
||||
return formData.value.mobile !== originalMobile.value;
|
||||
});
|
||||
const needVerificationCode = computed(() => {
|
||||
return isMobileChanged.value;
|
||||
// 填写了手机号 且 手机号发生了变更(新增或修改),才需要验证码
|
||||
return !!(formData.value.mobile && isMobileChanged.value);
|
||||
});
|
||||
|
||||
// 团队新增弹窗相关
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user