我允许用户在页面上输入日期,我的测试人员之一用以下错误正确地破坏了数据库保存:
SqlDateTime溢出。必须在1/1/1753 12:00上午12:00至12/31/9999 11:59:59 之间
在将日期发送到服务器之前,是否有一个在jQuery或JavaScript中的客户端验证此功能的现有功能,以便我能够向用户提供反馈?我不想写我自己的(可能是不完整的)。
谢谢
发布于 2012-06-20 05:41:07
javascript重载>
和<
比较操作符以处理日期。
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验证只用于性能,不增加安全性;它应该始终得到服务器端验证的补充。
发布于 2012-06-20 05:37:00
发布于 2012-06-20 05:41:16
使用数据采集器插件http://jqueryui.com/demos/datepicker/#min-max,并使用数据范围方法限制用户输入错误范围
http://jqueryui.com/demos/datepicker/#date-range
码
$(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 );
}
});
});
https://stackoverflow.com/questions/11120800
复制相似问题