使用服务器和jquery检查密码验证

时间:2011-07-27 15:30:01

标签: jquery jquery-validate

$("#changePassword").validate({
        rules: {    
            newPassword: {
                required: true              
            },
            newPassword2: {
                required: true,             
                equalTo: "#newPassword"
            }               
        }
    });

嘿伙计这是我的验证码。

这是我的密码检查

    $('#oldPassword').change(function() {
        var password = $(this).val();
        $.post('/settings/check/oldPassword', { value : password }, function(data) {

            if (data == 'false') {                  
                $('#oldPassword').removeClass('valid');
                $('#oldPassword').addClass('error');
            }

        });
    });

如何制作,以便在出现此错误时不会提交表单。我还认为如果表单元素有类错误但显然没有提交jquery验证。错误类被添加正常,但您仍然可以提交表单。谢谢你的帮助。

修改

这是表格。

        <input type="text" name="oldPassword" placeholder="Old Password" value="" title="Old Password" class="hint" id="oldPassword" size="30"  /> 

    <br />
    <br />
    <input type="password" name="newPassword" placeholder="New Password" value="" title="New Password" class="hint" id="newPassword" size="30"  /> 

    <br />
    <br />

    <input type="password" name="newPassword2" placeholder="Verify Password" value="" title="Verify Password" class="hint" id="newPassword2" size="30"  /> 

    <br />
    <br />
    <input type="submit" id="submitForm" value="Change Password" />

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$('#oldPassword').submit(function() {
    var password = $(this).val();
    $.post('/settings/check/oldPassword', { value : password }, function(data) {

        if (data == 'false') {                  
            $('#oldPassword').removeClass('valid');
            $('#oldPassword').addClass('error');
            return false;
        }

    });
});

编辑 - 如果你需要通过检查远程资源来确定输入的值,你应该使用remote(),你绝对不应该试图通过认为表单无效来“混淆”插件

答案 1 :(得分:0)

如果验证失败,您将不得不使用.submit()而不是change()return false