react ant form
直接动态替换rules会导致form组件重置,如果要动态校验,应该在事件中根据条件执行不同的逻辑。
rules={[
{
validator: (rule, value, callback) => {
// 在函数内判断,而不是替换整个rules
if (form.getFieldValue('personCertificateType') == 'idCard') {
let res = validateIdCard(value) //返回false表示校验失败
!res ? callback('格式不正确') : callback()
}else{
callback()
}
},
trigger: 'blur',
// message: '请输入正确18位证件号码',
},
]}