繁体   English   中英

使用jquery datepicker验证日期范围

[英]Validate date range with jquery datepicker

我试图从我的datepicker获取值到一个新的脚本,该脚本应该验证来自datepicker的第二个选择值不是在第一个选择的datepicker之前。

但是,我的脚本将不会执行。

这是我的看法:

 <div class="editor-field">
        @Html.TextBox("PlannedDate", Model.PlannedDate, new { @class = "date", @readonly = "readonly" })
        @Html.TextBox("CompletedDate", Model.CompletedDate, new { @class = "date", @readonly = "readonly" })
        @Html.ValidationMessageFor(model => model.CompanyName)
    </div>
 <input id="submitfloat" type="submit" value="Go" />

这是我的剧本

  <script>
  $(".date").datepicker();
  $('#submitfloat').submit(function() {
  var fromDate = $('#PlannedDate').val();
  var EndDate = $('#CompletedDate').val();
  if (Date.parse(fromDate) > Date.parse(EndDate)) {
    alert("Date error")
    }
    return false;

});

但是,当我开始调试ut Firebug时,它似乎是我的行$('#submitfloat').submit(function() {不会执行。

任何人都知道我的问题是什么以及如何解决? 提前致谢

我的第一个答案,我希望它能帮助你。

首先我的看法:

    <script src="Js/jquery.min.js" type="text/javascript"></script>
    <script src="Js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="Js/jquery-ui-1.8.18.custom.min.js" type="text/javascript"></script>
    <link href="Css/start/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" />

我用它作日期选择器和验证

    <form id="custom" action="">
         <input type="text" id="fechaLlegada" name="fechaL" style="color: #4080BF; font: bold 12px verdana; padding: 0 2px 3px 2px;"/> 
         <input type="text" id="fechaSalida" name="fechaS" style="color: #4080BF; font: bold 12px verdana; padding: 0 2px 3px 2px;"/>
         <br />
         <input type="submit"/>
    </form>

现在的脚本

    <script type="text/javascript">
jQuery.validator.addMethod("isValid", function (value, element) {
    var startDate = $('#fechaLlegada').val();
    var finDate = $('#fechaSalida').val();
    return Date.parse(startDate) < Date.parse(finDate);
}, "* End date must be after start date");

$(function () {
    $('#fechaLlegada,#fechaSalida').datepicker()

    $('#custom').validate({
        rules: {
            'fechaL': { required: true, date: true },
            'fechaS': { required: true, date: true, isValid: true }
        }, messages: {
            'fechaL': { required: 'date required msj!',
                date: 'invalid date format msj'
            },
            'fechaS': { required: 'date required msj!',
                date: 'invalid date format msj',
                isValid: 'End date must be after start date'
            }
        }
    });

});
</script>

我添加了一个方法来jquery验证日期验证然后我在验证脚本中将其用作规则

this is working for me, i hope it helps someone

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM