我想知道是否有办法使用表单字段的验证状态来授权/阻止执行操作。
一个例子可能更清楚。 我正在显示一个表格,其中包含要填写的必填字段,以便在db中创建记录,还有一个保存按钮。
如果表单的静态验证不正确,我希望阻止保存按钮操作。 是否有内置机制可以这样做? 感谢
答案 0 :(得分:3)
FormPanel
有一个方法isValid
,可以通过调用IsField
来自动验证所有包含的字段(实现isValid
)。如果有任何返回false
,则表单的isValid
方法也会返回false
。
您可以使用FormPanel.isValid
中的ClickHandler
来表示您的表单的保存按钮,如果它无效,则无需执行任何操作即可返回。
@UiHandler("formPanel")
void onSave(ClickEvent event) {
if (!formPanel.isValid()) {
return;
}
saveToDb();
}