只设置自定义表单验证规则时,校验不触发
- Dominant language
- JavaScript
- Stars
- 9.1k
- Forks
- 1.4k
- PR merge metrics
- No merged PRs in 30d
Description
### Version
1.12.38
### Reproduction link
[https://m-qa.gongmall.com/signature/verification?subMerchantId=3PGOJP&templateId=VODd3P&data=ZsFM79bD2azeFQWQGGzbyNnfcOvGzW%2Bl1BGrDJ4iLJA%3D&channel=1](https://m-qa.gongmall.com/signature/verification?subMerchantId=3PGOJP&templateId=VODd3P&data=ZsFM79bD2azeFQWQGGzbyNnfcOvGzW%2Bl1BGrDJ4iLJA%3D&channel=1)
### Steps to reproduce
打开页面后直接点击提交按钮即可
### What is expected?
银行卡号与支付宝号只需要收集一项,当两项都不填写时应触发自定义校验
### What is actually happening?
银行卡号与支付宝号都不填写时没有触发自定义校验
### Dependencies Version
vue: 2.7.13
better-scroll: 2.4.2
---
```
template:
储蓄卡号
{{
form.bankName
}}
js定义:
bankNum: {
type: 'input',
modelKey: 'bankNum',
label: '',
props: {
placeholder: '请输入您的储蓄卡号'
},
rules: {
required: false,
checkBankNum1: (val) => {
if (this.form.needCollectAccount === 1) {
return Boolean(val)
}
return true
},
checkBankNum2: () => {
const { needCollectAccount, bankNum, alipayNum } = this.form
if (needCollectAccount === 3) {
return !(!bankNum && !alipayNum)
} else {
return true
}
}
},
messages: {
required: '请输入',
checkBankNum1: '请输入您的储蓄卡号',
checkBankNum2: '银行卡和支付宝必填一个'
},
// validating when blur
trigger: 'blur'
},
alipayNum: {
type: 'input',
modelKey: 'alipayNum',
label: '',
props: {
placeholder: '请输入您的支付宝账号'
},
rules: {
required: false,
check1: (val) => {
if (this.form.needCollectAccount === 2) {
return Boolean(val)
}
return true
},
check2: () => {
const { needCollectAccount, bankNum, alipayNum } = this.form
if (needCollectAccount === 3) {
return !(!bankNum && !alipayNum)
} else {
return true
}
}
},
messages: {
required: '请输入',
check1: '请输入您的储蓄卡号',
check2: '银行卡和支付宝必填一个'
},
// validating when blur
trigger: 'blur'
}
```
Contributor guide
Assessment
This issue has not been assessed yet.