要将日期时间输出为隐藏,我使用的是html帮助程序,如:
@Html.HiddenFor(model => model.Foobar.Date)
这将输出一个元素,其中value采用以下格式:
2014-11-07 00:00:00
并且验证器需要此格式的日期时间值(不含秒):
2014-11-07 00:00
如何让验证器接受这两种格式?
我包括这样的验证:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"
type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/globalize/globalize.js")"
type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.globalize.min.js")"
type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"
type="text/javascript"></script>
答案 0 :(得分:0)
然后设置Validator识别的格式:
$("#DiscountPromoCodeValidFrom").datepicker({
minDate: 0,
dateFormat: "yy-mm-dd",
timeFormat: "HH:mm",
onSelect: function(selected) {
$("#DiscountPromoCodeValidUntil").datepicker("option","minDate", selected)
}
});
答案 1 :(得分:0)
似乎我可以像这样添加一个非常简单的客户端验证器:
$.validator.addMethod('date', function (value, element, parameters)
{
return value.match(/^\d+-\d+-\d+ \d+:\d+(:\d+)?$/) != null;
});
让客户端验证允许有和没有秒的值通过。
服务器端似乎接受两种格式(双重检查)。