2016-05-16 12 views
1

こんにちは日付範囲カスタム検証方法から日付を検証する方法は?

HTMLを検証するために、次のコードがあります。

<div class="form-group"> 
     <label for="txtLastName">Registration Date:</label> 
     <input type="date" class="form-control" id="txtRego" name="txtRego" /> 
    </div> 

JS:

  var f = $('#f1');//this is the form 

      $.validator.addMethod('dateRange', function (value, element) { 

       if ((value >= '1/31/2016' && value <= '3/31/2016')) { 
        return true; 
       } 
       else { 
        return false; 
       } 
      }, 'entered date is out of range'); 

f.validate({ 
       rules: { 

        txtRego: { 
         dateRange: true 
        } 
       }, 
       messages: { 

        txtRego: { 
         dateRange: 'not in range' 
        } 
       } 
      }); 

が、それは範囲を検証しませんが。なぜそれは日付を検証しませんか?

+0

を試してみてください。値を日付オブジェクトに変換して比較する必要があります。 – DinoMyte

+0

これを行うには[momentjs](http://momentjs.com)ライブラリを使用してください。 – t0mm13b

+0

@DinoMyteもしあなたが答えることができれば、ポイントを与えることができます! –

答えて

0

は、あなたが文字列で(より大きいまたは未満)を比較している。この

var f = $('#f1');//this is the form 
var startdate = new Date('1/31/2016'); 
var enddate = new Date('3/31/2016'); 
$.validator.addMethod('dateRange', function(value, element) { 
    var value = new Date(value); 
    if ((value >= startdate && value <= enddate)) { 
     return true; 
    } else { 
     return false; 
    } 
}, 'entered date is out of range'); 

f.validate({ 
    rules : { 

     txtRego : { 
      dateRange : true 
     } 
    }, 
    messages : { 

     txtRego : { 
      dateRange : 'not in range' 
     } 
    } 
}); 
関連する問題