jQuery验证 - 验证特定字段的按键上的特定规则/方法

时间:2012-05-09 15:23:38

标签: jquery regex jquery-validate

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

我也在验证模糊的每个字段:

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

我为密码添加了另一种方法 - alpha,numeric,no spaces / dashes:

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

有几个问题:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

在函数中,如果输入的类忽略并且没有输入任何值,则删除我在validate调用中设置的有效类。输入值后,将触发正常验证。

答案 1 :(得分: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