Javascript Jquery验证在登录表单中始终为true
我试图用spring安全性实现一个简单的登录表单。但是我想确保每次用户按下按钮时,表单只有在填写完所有内容后才提交 我用它来验证Jquery验证,问题是在按下按钮后表单无论如何都会提交(即使所有字段都是空的) 我的JSP是:Javascript Jquery验证在登录表单中始终为true,javascript,jquery,forms,validation,Javascript,Jquery,Forms,Validation,我试图用spring安全性实现一个简单的登录表单。但是我想确保每次用户按下按钮时,表单只有在填写完所有内容后才提交 我用它来验证Jquery验证,问题是在按下按钮后表单无论如何都会提交(即使所有字段都是空的) 我的JSP是: <form id="loginuser" name="loginuser" action="<spring:url value="/j_spring_security_check" htmlEscape="true" />" method="POST"
<form id="loginuser" name="loginuser" action="<spring:url value="/j_spring_security_check" htmlEscape="true" />" method="POST" class="login">
<div id="user_login">
<fieldset>
<dl>
<input type='text' name='other_email' id='other_email'>
<dt><label for="j_username"><fmt:message key="app.username" />:</label></dt>
<dd><input id="j_username" name="j_username" type="text" value="" tabindex="1" required/></dd>
<dt><label for="j_password"><fmt:message key="app.password" />:</label></dt>
<dd><input id="j_password" name="j_password" type="password" tabindex="2" required/></dd>
</dl>
</fieldset>
<p class="btn-paragraph">
<input type="submit" class="submitLoginButton btn-submit-style" value="<fmt:message key="app.login"/>" />
<% // TODO: Quando a pagina de recovery password estiver concluida alterar o link para la!! %>
<a href="www.google.pt" class="help-link"><fmt:message key="login.recovery" /></a>
</p>
<div id="loading" style="display:none;">
<img id="loading-image" src="<c:url value="/resources/images/loader.gif"/>" alt="Loading..." />
</div>
</div>
</form>
:
:
“alt=”正在加载…”/>
我的Javascript代码是:
$(function() {
$('#loginuser').validate({
errorClass: 'errors',
validClass: 'successes',
onkeyup: false,
rules: {
j_username: {
minlength: minLength,
loginUsernameRegex: true,
required: true
},
j_password: {
required: true,
minlength: minLength
}
},
messages: {
j_username: {
minlength: '<fmt:message key="registeruser.username.minlength"/>',
required: '<fmt:message key="registeruser.username.required"/>',
loginUsernameRegex: '<fmt:message key="registeruser.username.alfanumeric.only"/>'
},
j_password: {
minlength: '<fmt:message key="registeruser.pwd.minlength"/>',
required: '<fmt:message key="registeruser.pwd.required"/>'
}
},
showErrors : function(errorMap, errorList) {
this.defaultShowErrors();
return false;
}
});
$('.submitLoginButton').click(function(evt){
if($('#other_email').val() && $('#other_email').val().length > 0){
return false;
}
if($('#loginuser').valid()){
console.log("Valid form");
}
else{console.log("not valid");}
return false;
});
});
$(函数(){
$(“#登录用户”)。验证({
errorClass:'错误',
validClass:“成功”,
onkeyup:false,
规则:{
j_用户名:{
minlength:minlength,
罗吉努瑟纳梅雷格斯:没错,
必填项:true
},
j_密码:{
要求:正确,
minlength:minlength
}
},
信息:{
j_用户名:{
minlength:“”,
必需:“”,
loginUsernameRegex:'
},
j_密码:{
minlength:“”,
必需:“”
}
},
错误:功能(错误映射、错误列表){
this.defaultRors();
返回false;
}
});
$('.submitLoginButton')。单击(函数(evt){
如果($('other_email').val()&&&$('other_email').val().length>0){
返回false;
}
如果($('#loginuser').valid()){
控制台日志(“有效表格”);
}
else{console.log(“无效”);}
返回false;
});
});
所以每次我的控制台显示“有效表单”消息时,有人知道我在这里遗漏了什么
谢谢!尝试设置一个if语句来检查字段是否为空。
如果j_username==nil{do something};
祝你好运!:D我在a中尝试了你的代码,它似乎可以工作
但是,我认为您应该为表单注册一个onsubmit处理程序,而不是为按钮注册一个onclick处理程序
$('#loginuser').submit(function() {
if ($('#other_email').val()) {
return false;
}
});
愚蠢的我!!在努力解决这个问题后,我发现了错误。我的头文件中的一个div中隐藏了另一个具有相同Id的表单!!感谢您提供的所有帮助!!!