表单验证返回的问题
来源:11-4 部门新增、编辑、删除接口实现

weixin_慕用2051079
2023-07-20
老师好,视频里有这么一段代码
const valid = await form.validateFields()
if(valid){
//...
}
这里的valid我在控制台打印出来,要么是一个error,要么是一个对象,Promise对象并不是直接返回true或false的,怎么能用于判断 if(valid) 呢,这一部分不太理解
写回答
1回答
-
河畔一角
2023-07-20
官方的示例是这样判断的:
form.validateFields().then( () => { setSubmittable(true); }, () => { setSubmittable(false); },);
也就是说,返回的是一个Promise,如果验证通过,则执行then中的代码,如果验证失败,则执行catch中的代码。
await写法:
const valid = await form.validateFields();
这种情况下,可以使用try catch捕获失败信息,当然建议不用try catch,如果报错,下面不会执行。
所以,课程当中的 if(valid){} 这段代码是多余的。
00
相似问题