JQuery验证()与JSF和页面提交刷新

JQuery Validation() with JSF and Page Submit Refresh

本文关键字:提交 刷新 JSF 验证 JQuery      更新时间:2023-09-26

我刚刚完成了将JQuery验证脚本与JSF 2页面的集成。直到我们到达表单的提交,它才正常工作。

我在这里找到了非常接近的答案,但问题仍然存在:页面得到刷新,bean没有被调用!这个答案也很有用,但是使用它时bean也不会被调用。

下面是我的验证:
<script>
$(document).ready(function(){
$("#ForgotPass").validate({
    rules: {
        'ForgotPass:mailprofile': {
            email: true,
            required : true
            }
        },
        messages: {
            'ForgotPass:mailprofile': {
         email: "Veuillez entrer une adresse e-mail valide",
         required : "L'adresse e-mail est vide"
            }
          }
    });
});
</script>

和形式:

<h:form id="ForgotPass" class="form floating-label">
  <h:outputText id="Mailid" value="E-mail : " name="Mailnm"> </h:outputText>
  <h:inputText class="form-control" id="mailprofile" value="#{userloginMB.mailprofile}" ></h:inputText>
  <h:outputLabel id="MailidL" for="mailprofile" name="MailnmL"></h:outputLabel>
  <h:commandButton id="btnPo" value="Soumettre" onclick="validate()">
    <f:ajax listener="#{userloginMB.forgotpass}" execute="@form" render="@form" onevent="validate()" />
  </h:commandButton>                                            
</h:form>

如何在验证正确的情况下提交表单,调用bean,而不刷新页面?当字段无效时,验证正常工作。

注意:我的浏览器渲染按钮:

<input id="ForgotPass:btnPo" name="ForgotPass:btnPo" value="Soumettre" class="btn btn-flat btn-primary ink-reaction" onclick="mojarra.ab(this,event,'action','@form','@form');return false" type="submit">

添加:类似的东西将是完美的:http://jsfiddle.net/wYd5t/2/但我怎么能做到这一点在我的例子?(或者甚至使用addEventListener)

您应该进行双重验证,服务器端(通常是简单的消息重新分组错误)和客户端验证。如果另一个停止(JS禁用浏览器),在两者之间进行连接将使两者中的任何一个都无法使用。