Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery验证在登录表单中始终为true_Javascript_Jquery_Forms_Validation - Fatal编程技术网

Javascript Jquery验证在登录表单中始终为true

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"

我试图用spring安全性实现一个简单的登录表单。但是我想确保每次用户按下按钮时,表单只有在填写完所有内容后才提交

我用它来验证Jquery验证,问题是在按下按钮后表单无论如何都会提交(即使所有字段都是空的)

我的JSP是:

<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的表单!!感谢您提供的所有帮助!!!