我正在为我的应用程序使用 struts2 框架。 我还使用 jquery 验证来验证客户端的表单输入。 然而他们俩都不太相配。
我有 UserBean 类,我希望它在那里。
我正在使用以下 jquery 和 struts 表单..它不验证表单
<script type="text/javascript">
$(document).ready(function(){
var validator = $("#myform").validate({
rules: {
username: "required",
password: "required"
},
messages: {
username: "Please enter your username",
password: "Please enter your password"
}
});
});
</script>
<小时/>
<s:form method="POST" action="doLogin" name="myform" id="myform" cssClass="form" theme="simple">
<s:fielderror theme="simple" >
<label class="control-label" for="username">User Name </label>
<s:textfield name="userBean.userName" label="USER NAME"/>
<s:param>userBean.userName</s:param>
<label class="control-label" for="username">Password </label>
<s:password name="userBean.password" label="PASSWORD" />
<s:param>userBean.password</s:param>
<s:submit name="Submit" value="Submit"/>
</s:fielderror>
</s:form>
最佳答案
您输入的名称是 userBean.userName
和 userBean.password
,因此您的脚本声明必须与这些名称匹配才能工作:
<script type="text/javascript">
$(document).ready(function(){
var validator = $("#myform").validate({
rules: {
"userBean.userName": "required",
"userBean.password": "required"
},
messages: {
"userBean.userName": "Please enter your username",
"userBean.password": "Please enter your password"
}
});
});
</script>
按照jQuery Validation on field(s) with a prefix in the name property ,您需要将名称放在引号中,因为名称中包含 .
。
关于JQuery 不验证 struts2 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898980/