【问题标题】:JSF validate dialog formJSF 验证对话框表单
【发布时间】:2013-09-23 01:34:27
【问题描述】:

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

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

在对话框关闭之前,我应该进行表单验证检查(类似于验证类的返回),我如何在 javascript 中做到这一点?我正在使用 JSF 2.1 实现。

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

谢谢。 ;)

【问题讨论】:

标签: ajax validation jsf


【解决方案1】:

如果我说得对,您希望在出现验证错误时保持对话框打开?

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

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

点击你的 submit 按钮后,将上面的块渲染成这样:

<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多