我刚刚完成了将JQuery Validation脚本与我的JSF 2页面集成。它工作正常,直到我们提交表格。
我找到了非常接近的答案here,但问题仍然存在:页面被刷新并且bean没有被调用!此answer也很有用,但使用它时,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)
答案 0 :(得分:1)
你应该真正进行双重验证,服务器端(通常是简单的消息重组错误)和客户端错误。如果另一个停止(JS禁用浏览器),那么在两者之间进行连接会使两者都无法使用。