jquery validate常用选项

$("form").validate({
//		debug:true,//debug时不会提交表单
		rules:{//rules和messages,规则和对应消息
			name:"required",
			password:"required"
		},messages:{
			name:"name is required",
			password:"password is required"
		},
		submitHandler :function(){//提交表单时调用,替代默认提交表单的行为
			alert("submitHandler");
		},invalidHandler:function(){//验证不通过时调用
			alert("invalidHandler");
		},onsubmit:true,//是否提交表单时触发
		onfocusout:function(element) {$(element).valid()},//用boolean会报错,需要用function对象blur时验证
		onkeyup:function(element) {$(element).valid()},//用boolean会报错,需要用function对象keyup时验证
		focusInvalid:false ,//验证后让未通过验证的第一个表单元素获得焦点
		errorClass:"error",//定义错误信息的class
		showErrors:function(){//显示错误信息调用此方法,可以自定义错误显示
			this.defaultShowErrors();
		},
		focusCleanup:true//focus对应对象时隐藏错误提示
	});

 Validator还有一些有用的方法:

下面是从官网copy的详细介绍,方便查找。

 

validate( [options ] )Returns: Validator

Description: Validates the selected form.

  • validate( [options ] )
    • options
      Type: Object
       
      • debug (default: false)
        Type: Boolean
        Enables debug mode. If true, the form is not submitted and certain errors are displayed on the console (will check if a window.console property exists). Try to enable when a form is just submitted instead of validation stopping the submit.

         

        Example: Prevents the form from submitting and tries to help setting up the validation with warnings about missing methods and other debug messages.

        1
        2
        3
        $(".selector").validate({
        debug: true
        });
      • submitHandler (default: native form submit)
        Type: Function()
        Callback for handling the actual submit when the form is valid. Gets the form as the only argument. Replaces the default submit. The right place to submit a form via Ajax after it validated.

         

        Example: Submits the form via Ajax when valid.

        1
        2
        3
        4
        5
        $(".selector").validate({
        submitHandler: function(form) {
        $(form).ajaxSubmit();
        }
        });

        Example: Use submitHandler to process something and then using the default submit. Note that “form” refers to a DOM element, this way the validation isn’t triggered again.

        1
        2
        3
        4
        5
        6
        $(".selector").validate({
        submitHandler: function(form) {
        // do other stuff for a valid form
        form.submit();
        }
        });

        The callback gets passed one argument:

         

        • form
          Type: Element
          The form currently being validated, as a DOMElement.
      • invalidHandler
        Type: Function()
        Callback for custom code when an invalid form is submitted. Called with a event object as the first argument, and the validator as the second.

         

        Example: Displays a message above the form, indicating how many fields are invalid when the user tries to submit an invalid form.

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        $(".selector").validate({
        invalidHandler: function(event, validator) {
        // 'this' refers to the form
        var errors = validator.numberOfInvalids();
        if (errors) {
        var message = errors == 1
        ? 'You missed 1 field. It has been highlighted'
        : 'You missed ' + errors + ' fields. They have been highlighted';
        $("div.error span").html(message);
        $("div.error").show();
        } else {
        $("div.error").hide();
        }
        }
        });

        The callback gets passed two arguments:

         

        • event
          Type: Event
          A custom event object, since this function is bound as an event hanlder.
        • validator
          Type: Validator
          The validator instance for the current form.
      • ignore (default: ":hidden")
        Type: Selector
        Elements to ignore when validating, simply filtering them out. jQuery’s not-method is used, therefore everything that is accepted by not() can be passed as this option. Inputs of type submit and reset are always ignored, so are disabled elements.

         

        Example: Ignores all element with the class “ignore” when validating.

        1
        2
        3
        $("#myform").validate({
        ignore: ".ignore"
        });
      • rules (default: rules are read from markup (classes, attributes, data))
        Type: Object
        Key/value pairs defining custom rules. Key is the name of an element (or a group of checkboxes/radio buttons), value is an object consisting of rule/parameter pairs or a plain String. Can be combined with class/attribute/data rules. Each rule can be specified as having a depends-property to apply the rule only in certain conditions. See the second example below for details.

         

        Example: Specifies a name element as required and an email element as required (using the shortcut for a single rule) and a valid email address (using another object literal).

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        $(".selector").validate({
        rules: {
        // simple rule, converted to {required:true}
        name: "required",
        // compound rule
        email: {
        required: true,
        email: true
        }
        }
        });

        Example: Specifies a contact element as required and as email address, the latter depending on a checkbox being checked for contacting via email.

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        $(".selector").validate({
        rules: {
        contact: {
        required: true,
        email: {
        depends: function(element) {
        return $("#contactform_email:checked")
        }
        }
        }
        }
        });
      • messages (default: the default message for the method used)
        Type: Object
        Key/value pairs defining custom messages. Key is the name of an element, value the message to display for that element. Instead of a plain message another map with specific messages for each rule can be used. Overrides the title attribute of an element or the default message for the method (in that order). Each message can be a String or a Callback. The callback is called in the scope of the validator and with the rule’s parameters as the first and the element as the second arugment, it must return a String to display as the message.

         

        Example: Specifies a name element as required and an email element as required and a valid email address. A single message is specified for the name element, and two messages for email.

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        $(".selector").validate({
        rules: {
        name: "required",
        email: {
        required: true,
        email: true
        }
        },
        messages: {
        name: "Please specify your name",
        email: {
        required: "We need your email address to contact you",
        email: "Your email address must be in the format of name@domain.com"
        }
        }
        });

        Example: Validates the name-field as required and having at least two characters. Provides a callback message using jQuery.format to avoid having to specify the parameter in two places.

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        $(".selector").validate({
        rules: {
        name: {
        required: true,
        minlength: 2
        }
        },
        messages: {
        name: {
        required: "We need your email address to contact you",
        minlength: jQuery.format("At least {0} characters required!")
        }
        }
        });
      • groups
        Type: Object
        Specify grouping of error messages. A group consists of an arbitrary group name as the key and a space separated list of element names as the value. Use errorPlacement to control where the group message is placed.

         

        Example: Use a table layout for the form, placing error messags in the next cell after the input.

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        $("#myform").validate({
        groups: {
        username: "fname lname"
        },
        errorPlacement: function(error, element) {
        if (element.attr("name") == "fname" || element.attr("name") == "lname" ) {
        error.insertAfter("#lastname");
        } else {
        error.insertAfter(element);
        }
        }
        });
      • onsubmit (default: true)
        Type: Boolean
        Validate the form on submit. Set to false to use only other events for validation.

         

        Set to a Function to decide yourself when to run validation.

        A boolean true is not a valid value.

        Example: Disables onsubmit validation, allowing the user to submit whatever he wants, while still validating on keyup/blur/click events (if not specified otherwise).

        1
        2
        3
        $(".selector").validate({
        onsubmit: false
        });
      • onfocusout
        Type: Boolean or Function()
        Validate elements (except checkboxes/radio buttons) on blur. If nothing is entered, all rules are skipped, except when the field was already marked as invalid.

         

        Set to a Function to decide yourself when to run validation.

        A boolean true is not a valid value.

        Example: Disables onblur validation.

        1
        2
        3
        $(".selector").validate({
        onfocusout: false
        });

        The callback gets passed two arguments:

         

        • element
          Type: Element
          The element currently being validated, as a DOMElement.
        • event
          Type: Event
          The event object for this focusout event.
      • onkeyup
        Type: Boolean or Function()
        Validate elements on keyup. As long as the field is not marked as invalid, nothing happens. Otherwise, all rules are checked on each key up event. Set to false to disable.

         

        Set to a Function to decide yourself when to run validation.

        A boolean true is not a valid value.

        Example: Disables onkeyup validation.

        1
        2
        3
        $(".selector").validate({
        onkeyup: false
        });

        The callback gets passed two arguments:

         

        • element
          Type: Element
          The element currently being validated, as a DOMElement.
        • event
          Type: Event
          The event object for this keyup event.
      • onclick
        Type: Boolean or Function()
        Validate checkboxes and radio buttons on click. Set to false to disable.

         

        Set to a Function to decide yourself when to run validation.

        A boolean true is not a valid value.

        Example: Disables onclick validation of checkboxes and radio buttons.

        1
        2
        3
        $(".selector").validate({
        onclick: false
        });

        The callback gets passed two arguments:

         

        • element
          Type: Element
          The element currently being validated, as a DOMElement.
        • event
          Type: Event
          The event object for this click event.
      • focusInvalid (default: true)
        Type: Boolean
        Focus the last active or first invalid element on submit via validator.focusInvalid(). The last active element is the one that had focus when the form was submitted, avoiding to steal its focus. If there was no element focused, the first one in the form gets it, unless this option is turned off.

         

        Example: Disables focusing of invalid elements.

        1
        2
        3
        $(".selector").validate({
        focusInvalid: false
        });
      • focusCleanup (default: false)
        Type: Boolean
        If enabled, removes the errorClass from the invalid elements and hides all errors messages whenever the element is focused. Avoid combination with focusInvalid.

         

        Example: Enables cleanup when focusing elements, removing the error class and hiding error messages when an element is focused.

        1
        2
        3
        $(".selector").validate({
        focusCleanup: true
        });
      • errorClass (default: "error")
        Type: String
        Use this class to create error labels, to look for existing error labels and to add it to invalid elements.

         

        Example: Sets the error class to “invalid”.

        1
        2
        3
        $(".selector").validate({
        errorClass: "invalid"
        });
      • validClass (default: "valid")
        Type: String
        This class is added to an element after it was validated and considered valid.

         

        Example: Sets the valid class to “success”.

        1
        2
        3
        $(".selector").validate({
        validClass: "success"
        });
      • errorElement (default: "label")
        Type: String
        Use this element type to create error messages and to look for existing error messages. The default, “label”, has the advantage of creating a meaningful link between error message and invalid field using the for attribute (which is always used, no matter the element type).

         

        Example: Sets the error element to “em”.

        1
        2
        3
        $(".selector").validate({
        errorElement: "em"
        });
      • wrapper (default: window)
        Type: String
        Wrap error labels with the specified element. Useful in combination with errorLabelContainer to create a list of error messages.

         

        Example: Wrap each error element with a list item, useful when using an ordered or unordered list as the error container.

        1
        2
        3
        $(".selector").validate({
        wrapper: "li"
        });
      • errorLabelContainer
        Type: Selector
        Hide and show this container when validating.

         

        Example: All error labels are displayed inside an unordered list with the ID “messageBox”, as specified by the selector passed as errorContainer option. All error elements are wrapped inside an li element, to create a list of messages.

        1
        2
        3
        4
        5
        $("#myform").validate({
        errorLabelContainer: "#messageBox",
        wrapper: "li",
        submitHandler: function() { alert("Submitted!") }
        });
      • errorContainer
        Type: Selector
        Hide and show this container when validating.

         

        Example: Uses an additonal container for error messages. The elements given as the errorContainer are all shown and hidden when errors occur. But the error labels themselve are added to the element(s) given as errorLabelContainer, here an unordered list. Therefore the error labels are also wrapped into li elements (wrapper option).

        1
        2
        3
        4
        5
        6
        $("#myform").validate({
        errorContainer: "#messageBox1, #messageBox2",
        errorLabelContainer: "#messageBox1 ul",
        wrapper: "li", debug:true,
        submitHandler: function() { alert("Submitted!") }
        });
      • showErrors
        Type: Function()
        A custom message display handler. Gets the map of errors as the first argument and and array of errors as the second, called in the context of the validator object. The arguments contain only those elements currently validated, which can be a single element when doing validation onblur/keyup. You can trigger (in addition to your own messages) the default behaviour by calling this.defaultShowErrors().

         

        Example: Update the number of invalid elements each time an error is displayed. Delegates to the default implementation for the actual error display.

        1
        2
        3
        4
        5
        6
        7
        8
        $(".selector").validate({
        showErrors: function(errorMap, errorList) {
        $("#summary").html("Your form contains "
        + this.numberOfInvalids()
        + " errors, see details below.");
        this.defaultShowErrors();
        }
        });

        The callback gets passed two arguments:

         

        • errorMap
          Type: Object
          Key/value pairs, where the key refers to the name of an input field, values the message to be displayed for that input.
        • errorList
          Type: Array
          An array for all currently validated elements. Contains objects with the following two properties:
          • message
            Type: String
            The message to be displayed for an input.
          • element
            Type: Element
            The DOMElement for this entry.
      • errorPlacement (default: Places the error label after the invalid element)
        Type: Function()
        Customize placement of created error labels. First argument: The created error label as a jQuery object. Second argument: The invalid element as a jQuery object.

         

        Example: Use a table layout for the form, placing error messags in the next cell after the input.

        1
        2
        3
        4
        5
        $("#myform").validate({
        errorPlacement: function(error, element) {
        error.appendTo( element.parent("td").next("td") );
        }
        });

        The callback gets passed two arguments:

         

        • error
          Type: jQuery
          The error label to insert into the DOM.
        • element
          Type: jQuery
          The validated input, for relative positioning.
      • success
        Type: String or Function()
        If specified, the error label is displayed to show a valid element. If a String is given, its added as a class to the label. If a Function is given, its called with the label (as a jQuery object) and the validated input (as a DOM element). The label can be used to add a text like “ok!”.

         

        Example: Add a class “valid” to valid elements, styled via CSS.

        1
        2
        3
        4
        $("#myform").validate({
        success: "valid",
        submitHandler: function() { alert("Submitted!") }
        });

        Example: Add a class “valid” to valid elements, styled via CSS, and add the text “Ok!”.

        1
        2
        3
        4
        5
        6
        $("#myform").validate({
        success: function(label) {
        label.addClass("valid").text("Ok!")
        },
        submitHandler: function() { alert("Submitted!") }
        });

        The callback gets passed two arguments:

         

        • label
          Type: jQuery
          The error label. Use to add a class or replace the text content.
        • element
          Type: Element
          The element currently being validated, as a DOMElement.
      • highlight (default: Adds errorClass (see the option) to the element)
        Type: Function()
        How to highlight invalid fields. Override to decide which fields and how to highlight.

         

        Example: Highlights an invalid element by fading it out and in again.

        1
        2
        3
        4
        5
        6
        7
        $(".selector").validate({
        highlight: function(element, errorClass) {
        $(element).fadeOut(function() {
        $(element).fadeIn();
        });
        }
        });

        Example: Adds the error class to both the invalid element and it’s label

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        $(".selector").validate({
        highlight: function(element, errorClass, validClass) {
        $(element).addClass(errorClass).removeClass(validClass);
        $(element.form).find("label[for=" + element.id + "]")
        .addClass(errorClass);
        },
        unhighlight: function(element, errorClass, validClass) {
        $(element).removeClass(errorClass).addClass(validClass);
        $(element.form).find("label[for=" + element.id + "]")
        .removeClass(errorClass);
        }
        });

        The callback gets passed three arguments:

         

        • element
          Type: Element
          The invalid DOM element, usually an input.
        • errorClass
          Type: String
          Current value of the errorClass option.
        • validClass
          Type: String
          Current value of the validClass option.
      • unhighlight (default: Removes the errorClass)
        Type: Function()
        Called to revert changes made by option highlight, same arguments as highlight.
      • ignoreTitle (default: false)
        Type: Boolean
        Set to skip reading messages from the title attribute, helps to avoid issues with Google Toolbar; default is false for compability, the message-from-title is likely to be completely removed in a future release.

         

        Example: Configure the plugin to ignore title attributes on validated elements when looking for messages.

        1
        2
        3
        $(".selector").validate({
        ignoreTitle: true
        });
This method sets up event handlers for submit, focus, keyup, blur and click to trigger validation of the entire form or individual elements. Each one can be disabled, see the onxxx options (onsubmit, onfocusout, onkeyup, onclick). focusInvalid focuses elements when submitting a invalid form.

 

Use the debug option to ease setting up validation rules, it always prevents the default submit, even when script errors occur.

Use submitHandler to implement your own form submit, eg. via Ajax. Use invalidHandler to react when an invalid form is submitted.

Use rules and messages to specify which elements to validate, and how. See rules() for more details about specifying validation rules.

Use errorClass, errorElement, wrapper, errorLabelContainer, errorContainer, showErrors, success, errorPlacement, highlight, unhighlight, and ignoreTitle to control how invalid elements and error messages are displayed.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值