3

使用 jquery 验证: http ://docs.jquery.com/Plugins/Validation

我还在模糊验证每个字段:

//validate each element on blur
    $('input, select, radio, checkbox').blur(function(){
        $("#createAccount").validate().element(this);
    });

我为密码添加了另一种方法 - 字母、数字、无空格/破折号:

//Additional validation methods:
jQuery.validator.addMethod("passwordCheck", function(value, element) {
    return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
}, "Invalid characters");

几个问题:

我想验证除 passwordCheck 方法之外的所有内容的模糊密码字段。因此,其他方法(例如必需的方法)应该在模糊时验证 - 但如果输入了无效字符,那么我希望验证器随后触发该方法。

此外,在添加方法时,有没有办法将错误消息放入验证调用的消息部分(只是将它们全部保存在一个地方)?

4

2 回答 2

1

这就是我为实现此目的所做的:

对于需要被忽略的输入,直到它有一个值,我在输入中添加了一个类 - “忽略”

$('.ignore').blur(function(){
        if( $(this).val()=="") {
         $(this).parent().removeClass("inputSuccess");
        }
    });

在函数中,如果输入具有类忽略且未输入任何值,则删除我在验证调用中设置的有效类。输入值时,将在这些项目上触发正常验证。

于 2012-05-14T13:14:29.123 回答
0

HTML5 支持该required属性。因此,您可以通过以下方式进行检查:

<input type="password" name="password" required />

return !$(element).hasAttr("required");

但是,这会强制您在提交表单之前输入该字段。此外,您可以创建一个自定义属性,但我不知道这是否是一个好的解决方案。

http://www.w3.org/WAI/GL/wiki/Techniques/HTML5/Using_the_required_attribute_to_indicate_a_required_input_field

于 2012-05-14T09:40:03.953 回答