validateRules: { certType:[ { required: true, message: '证件类型不能为空' } ], certno: [ { required: true, message: '证件号码不能为空' }, ({ queryForm }) => { return queryForm.certType === '1' ? { validator: (rule, value) => { return new Promise((resolve, reject) => { const result = verify(value) if (result) { resolve() } else { reject(new Error('请输入正确的身份证号码')); } }) } } : {} } ],};这样写还是无法正确校验
时间: 2024-02-10 09:18:13 浏览: 324
看起来你的代码没有问题,但是 `verify` 方法有可能存在问题,导致身份证号码无法正确验证。你可以检查一下 `verify` 方法是否正确实现,或者提供一些样例身份证号码,以便我可以帮你检查。
另外,你可以在 `validateRules` 中加入 `console.log` 来帮助你 debug 问题,例如:
```
validateRules: {
certType: [
{
required: true,
message: '证件类型不能为空'
}
],
certno: [
{
required: true,
message: '证件号码不能为空'
},
({ queryForm }) => {
console.log('queryForm:', queryForm); // 在这里加入 console.log
return queryForm.certType === '1'
? {
validator: (rule, value) => {
return new Promise((resolve, reject) => {
const result = verify(value);
if (result) {
resolve();
} else {
reject(new Error('请输入正确的身份证号码'));
}
});
}
}
: {};
}
]
}
```
这样可以帮助你查看 `queryForm` 对象是否正确传递进来了。
希望这些方法可以帮助你解决问题。如果问题还没有解决,请提供更多的上下文信息,我会尽力帮助你解决问题。
阅读全文