Simple datepicker validation

依然范特西╮ 提交于 2019-12-29 09:34:35

问题


Can someone help me write a function for showing a line of text (preferably by showing a css class) for a jquery datepicker after someone has clicked a date?

The notice has to appear IF the date picked falls between TODAY and 21 DAYS FROM TODAY.

It's the function I need help with, as I don't know how to write it.

<script>
     $(function() {
          $( "#delivery_date" ).datepicker({ 
                dateFormat: "dd/mm/yy",
          });
     });
 </script>

<input type="text" id="delivery_date" name="delivery_date" required  />

回答1:


You might be able to validate it using date.js, it has a fluent API which makes it very easy to express your conditions.

Example code might be:

var enteredDate = $("#delivery_date").prop("value");
var parsed = Date.parse(enteredDate); 
var start = Date.today();
var end = Date.today().add(21).days(); 
if (!parsed.between(start, end)) {
    alert("Date is valid");
} else {
    alert("Date is not valid");
}

Test plunker




回答2:


U can use onClose in datepicker

$(function() {
  $( "#date" ).datepicker({ 
  dateFormat: "dd/mm/yy",
  onClose: function() {
        valid();
    }
  });
});

jsfiddle - example




回答3:


just use onSelect property when you init datepicker

$( "#delivery_date" ).datepicker({ 
    dateFormat: "dd/mm/yy",
    minDate : new Date(),
    onSelect: function(str) {

        var lastDate = new Date(),
            nums = str.split("/"),
            userDate = new Date(nums[2], nums[1]-1, nums[0]), // reverse date
            period = 21;

        lastDate.setDate(lastDate.getDate()+period);

        if (userDate<lastDate) {
            // notify
            alert("inside 21 days period");
        }
    }
});

try FIDDLE



来源:https://stackoverflow.com/questions/18632090/simple-datepicker-validation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!