【发布时间】:2015-01-29 17:28:44
【问题描述】:
我有两个日期选择器:
$(".From").datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 1,
autoclose: true,
onClose: function(selectedDate) {
$(".To").datepicker("option", "minDate", selectedDate);
}});
$(".To").datepicker({
dateFormat: 'dd/mm/yy',
numberOfMonths: 1,
autoclose: true,
onClose: function(selectedDate) {
$(".From").datepicker("option", "maxDate", selectedDate);
}});
查看:
@Html.TextBoxFor(model => model.From, new { @class = "form-control From" })
@Html.TextBoxFor(model => model.To, new { @class = "form-control To" })
型号:
[Display(Name = "From")]
public string From { get; set; }
[Display(Name = "To")]
public string To { get; set};
当用户手动输入日期时,会失败。
有没有办法让用户输入日期并进行验证?
选项 1:我应该使用正则表达式吗?
【问题讨论】:
-
Model、View、Con..等等,你用的是哪个框架..?
-
你能解释一下你说“它失败了”是什么意思吗?究竟会发生什么,您期望会发生什么?此外,您似乎没有任何验证规则可供验证。
-
@Jasen 它没有验证用户输入的日期。例如:2014 年 11 月 13 日,因为第 13 个月不存在。预期输出:“请输入有效日期” - 作为必须添加到验证规则的错误消息。我应该使用数据注释吗?
-
嗯,你需要使用 something 和 Data Annotations with ValidationMessageFor helper 是一个很好的内置工具来验证输入。您可能需要使用
DateTime数据类型才能使其工作。您现在所拥有的将以编程方式限制选项,但不会显式验证输入。另一种选择是防止直接键盘输入,因此唯一可用的值是通过 datepicker 小部件——应该是 valid 日期。
标签: javascript jquery asp.net-mvc jquery-ui datepicker