首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery (或javascript)验证日期范围

jQuery (或javascript)验证日期范围
EN

Stack Overflow用户
提问于 2012-06-20 13:33:35
回答 4查看 5.9K关注 0票数 0

可能重复: 使用Javascript,如何确保日期范围是有效的?

我允许用户在页面上输入日期,我的测试人员之一用以下错误正确地破坏了数据库保存:

SqlDateTime溢出。必须在1/1/1753 12:00上午12:00至12/31/9999 11:59:59 之间

在将日期发送到服务器之前,是否有一个在jQuery或JavaScript中的客户端验证此功能的现有功能,以便我能够向用户提供反馈?我不想写我自己的(可能是不完整的)。

谢谢

EN

回答 4

Stack Overflow用户

发布于 2012-06-20 13:41:07

javascript重载><比较操作符以处理日期。

代码语言:javascript
代码运行次数:0
运行
复制
if (yourDate > new Date('1/1/1753 12:00:00 AM') && 
    yourDate < new Date('12/31/9999 11:59:59 PM')) {
    // date is in your valid range
} else {
    // date is not in your valid range
}

http://jsfiddle.net/jbabey/UB9NR/

请记住,javascript验证只用于性能,不增加安全性;它应该始终得到服务器端验证的补充。

票数 2
EN

Stack Overflow用户

发布于 2012-06-20 13:37:00

您可以在客户端尝试jQuery验证插件来处理这个问题。,但不能只在客户端执行。在发送到DB.之前,始终在服务器端执行此操作

根据jQuery 文档,代码可以这么简单。

代码语言:javascript
代码运行次数:0
运行
复制
$("#myform").validate({
  rules: {
    field: {
      required: true,
      date: true
    }
  }
});

如果您希望使用自定义日期格式,则此回答值得查看。

票数 1
EN

Stack Overflow用户

发布于 2012-06-20 13:41:16

使用数据采集器插件http://jqueryui.com/demos/datepicker/#min-max,并使用数据范围方法限制用户输入错误范围

http://jqueryui.com/demos/datepicker/#date-range

代码语言:javascript
代码运行次数:0
运行
复制
$(function() {
        $( "#from" ).datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 3,
            onSelect: function( selectedDate ) {
                $( "#to" ).datepicker( "option", "minDate", selectedDate );
            }
        });
        $( "#to" ).datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 3,
            onSelect: function( selectedDate ) {
                $( "#from" ).datepicker( "option", "maxDate", selectedDate );
            }
        });
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11120800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档