JSF验证对话框表单

时间:2013-09-23 01:34:27

标签: ajax validation jsf

当我点击一个按钮时,我弹出一个对话框表单,此表单用于创建一个只有一个字段的新学校记录。 我已经为这个唯一的输入字段添加了必需的验证,并且一切正常,但我唯一不知道该怎么做的是当我点击提交时,无论是否验证,对话框将通过以下代码解除:

 initDataTable();
    // Dismiss the dialog
    $('#dialogNewSchool').dialog('close');

在关闭对话框之前,我应该进行表单验证检查(类似于从验证类返回),我如何在javascript中执行此操作?我正在使用JSF 2.1实现。

顺便说一下,我不想使用客户端验证,因为这个字段不仅需要验证。

感谢。 ;)

1 个答案:

答案 0 :(得分:0)

如果我说得对,你想在验证错误的情况下保持对话框打开吗?

您可以在页面的某处添加以下代码

<h:panelGroup id="global_flag_validation_failed_render">
    <h:outputText id="global_flag_validation_failed" value="true" rendered="#{facesContext.validationFailed}"/>
</h:panelGroup>

点击提交按钮后,会像上面这样呈现上面的块:

<f:ajax onevent="closeMyDialogIfAllOk" render="@form global_flag_validation_failed_render"></f:ajax>

并在你的js代码中

function closeMyDialogIfAllOk(data){
    if(data.status === 'success') {
        if($("#global_flag_validation_failed").length === 0){
             $("#dialog_id").dialog("close");
        }
    }
}

有关详细信息,请查看此处:How to find indication of a Validation error (required=“true”) while doing ajax command

相关问题