如果验证失败,GXT 会阻止操作执行

GXT prevent action execution if validation fails

我想知道是否有一种方法可以将表单字段的验证状态用于authorize/prevent要执行的操作。

举个例子可能更清楚。 我正在显示一个表单,其中包含要填写的必填字段,以便在数据库中创建记录,并显示一个保存按钮。

如果表单的静态验证不正确,我希望阻止保存按钮操作。 是否有这样做的内置机制? 谢谢

FormPanel 有一个方法 isValid,它会通过调用 isValid 自动验证所有包含的字段(实现 IsField)。如果任何 returns false,表单的 isValid 方法也将 return false.

您可以在 ClickHandler 中使用 FormPanel.isValid 调用作为表单的保存按钮,如果无效则 return 什么也不做。

@UiHandler("formPanel")
void onSave(ClickEvent event) {
    if (!formPanel.isValid()) {
        return;
    }

    saveToDb();
}