didi / didi/cube-ui

只设置自定义表单验证规则时,校验不触发

Open
#808 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.