【问题标题】:How to validate a year I enter in textbox using jquery rule?如何验证我使用 jquery 规则在文本框中输入的年份?
【发布时间】:2014-02-16 08:42:32
【问题描述】:

我有一个 HTML 文本框:

<form method="post" id="register-form" novalidate>
  Session:
  <input type="text" name="session" id="session"/>
  <input type='submit' name='add' value='Save'/>
</form>

我希望我在文本框中输入的日期介于 2000 和 2014 之间,并且应拒绝输入 212、998 等。如何在 JQuery 中进行验证?

<script>
  $(function() {
    $("#register-form").validate({
      rules: {      
        session: {
          required: true,
        },  
      },
      messages: {
        session: "Please enter year",                       
      },
      submitHandler: function(form) {
        form.submit();
      }
    });
  }); 
</script>

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    你应该像这样使用 jQuery 插件的“min”和“max”方法:

    $("#register-form").validate({
        rules: {        
            session: {
                required: true,
                min: 2000,
                max: 2014     
            },  
     },
        messages: {
        session: "Please enter year",                       
        },
        submitHandler: function(form) {
            form.submit();
        }
    });
    

    来源: http://jqueryvalidation.org/min-method http://jqueryvalidation.org/max-method/

    【讨论】:

      【解决方案2】:

      您可以像这样自定义验证规则

      $.validator.addMethod("validYear", function(value, element) {
          return ((parseInt(value) > 1999) && parseInt(value) < 2015);
      }, "Year should  be between 2000-2014");
      

      然后用这个来定义规则

      $("#register-form").validate({
          rules: {        
              session: {
                  required: true,
                  validYear:true
              },  
       },
      

      Js Fiddle Demo

      【讨论】:

        【解决方案3】:

        使用范围指定范围。

        $("#register-form").validate({

            rules: {        
                session: {
                    required: true,
                    range:[2000,2014]
        
                },  
        
         },
        
            messages: {
            session: "Please enter year",                       
            },
        
        
            submitHandler: function(form) {
                form.submit();
            }
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-12-15
          • 1970-01-01
          • 2019-10-11
          • 2016-11-26
          • 1970-01-01
          • 1970-01-01
          • 2016-10-07
          相关资源
          最近更新 更多