2013-02-22 182 views
-2

我正在通过jQuery表单验证验证表单。我想知道是否有任何现有的jQuery或JavaScript来验证一个人是至少16岁。一个要求是,如果用户不满16岁,则无法提交表单。jQuery表单验证验证年龄

我知道这个验证是不够的,所以会有一些服务器端验证。

+0

我相信jQuery验证插件可以让你定义自己的自定义验证功能,然后用它们来验证字段。比较两个日期 - 使用日期选择器为他们的D.O.B输入日期和当前日期 - 以确定差异是否至少16年不应太困难。我认为,你应该能够在其他问题上找到你需要的所有信息。不幸的是,我对jQuery验证不够熟悉。 – 2013-02-22 15:29:50

+0

我认为预置号码验证可能有最小/最大选项。这只会在用户输入一个整数时才起作用。 – Jack 2013-02-22 15:37:05

+0

你只是问年龄?你在问生日吗?你将不得不为jQuery和HTML显示你的代码,并解释你收集的数据是否需要有意义的答案。 – Sparky 2013-02-22 16:02:06

回答

0

使用the plugin's addMethod() method,您可以使用此插件完成的操作没有限制。

jQuery.validator.addMethod("myRule", function(value, element, params) { 
    // your custom validation function 
    // return false; // represents failed validation 
    // return true; // represents passed validation 
}, jQuery.format("failed - your custom message")); 

回调的参数有:

  • 当前值的验证元件
  • 元件被验证
  • 参数的方法中指定的,例如为min: 5参数是5,为range: [1, 5][1, 5]

有几种方法可以应用新的规则。标准方法只是在.validate()以及其他规则中声明它。

HTML

<input type="text" name="field1" /> 

jQuery的

$(document).ready(function() { 

    $('#myform').validate({ // initialize the plugin 
     // other options 
     rules: { 
      myfield1: { 
       required: true, 
       myRule: true // true/false or parameters 
      }, 
      // other rules, 
     } 
    }); 

}); 

看到我做了一个自定义规则这个工作演示。您可以输入除“5”之外的任何内容。

http://jsfiddle.net/kKhFJ/