首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jQuery证验框架(七)注意事项 (jQuery validation)

2012-10-30 
jQuery验证框架(七)注意事项 (jQuery validation)jQuery验证框架 七、注意事项 [1]复杂的name属性值 ??? 当

jQuery验证框架(七)注意事项 (jQuery validation)

jQuery验证框架

七、注意事项

[1]复杂的name属性值
??? 当使用rules选项时,如果表单的name属性值包含有非法的javascript标识符,必须将name值加上引号。

    $("#myform").validate({ rules: { // no quoting necessary name: "required", // quoting necessary! "user[email]": "email", // dots need quoting, too! "user.address.street": "required" }});



    [2]重构规则
    ??? 不论什么时候,当你的表单中的多个字段含有相同的验证规则及验证消息,重构规则可以减少很多重复。使用 addMethodaddClassRules 将非常有效果。??
    ??? 假使已经重构了如下规则:

      // alias required to cRequired with new message$.validator.addMethod("cRequired", $.validator.methods.required, "Customer name required");// alias minlength, too$.validator.addMethod("cMinlength", $.validator.methods.minlength, // leverage parameter replacement for minlength, {0} gets replaced with 2 $.format("Customer name must have at least {0} characters"));// combine them both, including the parameter for minlength$.validator.addClassRules("customer", { cRequired: true, cMinlength: 2 });


      ??? 那么使用的时候如下:

        <input name="customer1" /><input name="customer2" /><input name="customer3" />



        [3]验证消息
        ??? 当验证了一个无效的表单元素,验证消息显示在用户面前。这些消息是从哪里来的呢?有三个途径来取得验证消息。
        ??????? 1.通过待验证表单元素的title属性
        ??????? 2.通过默认的验证消息
        ??????? 3.通过插件设置(messages选项)
        ??? 这三种途径的优先顺序为:3 > 1 > 2
        ???
        [4]验证消息与Google工具栏的冲突
        ??? 有时候验证消息会与Goole工具栏的AutoFill插件冲突。AutoFill通过替换表单元素的title属性,以显示提示消息。此时,验证消息如果获取的是title属性值,那么就得不到我们预期想要得到的结果。当文档载入时,可以通过如下方法避免冲突。

          $("input.remove_title").attr("title", "");



          [5]表单提交
          ??? 默认地,表单验证失败时阻止表单的提交,当验证通过,表单提交。当然,也可以通过submitHandler来自定义提交事件。
          ??? 将提交按钮的class属性设置成cancel,在表单提交时可以跳过验证。

            <input type="submit" name="submit" value="Submit" /><input type="submit" name="cancel" value="Cancel" />


            ??? 下面这段代码将循环提交表单:

              $("#myform").validate({ submitHandler: function(form) { // some other code maybe disabling submit button // then: $(form).submit(); }});


              ??? $(form).submit() 触发了另外一轮的验证,验证后又去调用submitHandler,然后就循环了。可以用 form.submit() 来触发原生的表单提交事件。

                $("#myform").validate({ submitHandler: function(form) { form.submit(); }});





                原文请见:http://docs.jquery.com/Plugins/Validation

                ----------------------------------------------------------------------

热点排行