在ProForm的onValuesChange属性中进行表单验证,例如:
<ProForm
form={form}
onValuesChange={async (changedFields, _) => {
try {
await form.validateFields();
console.log(1);
} catch {
console.log(2);
}
}}
>
xxxxxxx
</ProForm>
问题:
验证条件以必填项为例 结果1不打印 无论表单必填项是否填写,每次打印的都是2,执行form.validateFields()直接报错。
解决方法:
让ProForm的validateTrigger='onSubmit',其默认为onChange
<ProForm
form={form}
onValuesChange={async (changedFields, _) => {
try {
await form.validateFields();
console.log(1);
} catch {
console.log(2);
}
}}
validateTrigger='onSubmit'
>
xxxxxxx
</ProForm>