Asp.net 以多种格式验证日期时间
要将日期时间输出为隐藏,我使用了html帮助程序,如:Asp.net 以多种格式验证日期时间,asp.net,datetime,unobtrusive-validation,Asp.net,Datetime,Unobtrusive Validation,要将日期时间输出为隐藏,我使用了html帮助程序,如: @Html.HiddenFor(model => model.Foobar.Date) 这将输出一个元素,其中值采用以下格式: 2014-11-07 00:00:00 验证器需要此格式的日期时间值(不含秒): 2014-11-07 00:00 如何让验证器接受这两种格式 我包括如下验证: <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type=
@Html.HiddenFor(model => model.Foobar.Date)
这将输出一个元素,其中值采用以下格式:
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>
$.validator.addMethod('date', function (value, element, parameters)
{
return value.match(/^\d+-\d+-\d+ \d+:\d+(:\d+)?$/) != null;
});
然后设置验证程序识别的格式:
$("#DiscountPromoCodeValidFrom").datepicker({
minDate: 0,
dateFormat: "yy-mm-dd",
timeFormat: "HH:mm",
onSelect: function(selected) {
$("#DiscountPromoCodeValidUntil").datepicker("option","minDate", selected)
}
});
似乎我可以添加一个客户端验证程序,非常简单,如下所示:
<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>
$.validator.addMethod('date', function (value, element, parameters)
{
return value.match(/^\d+-\d+-\d+ \d+:\d+(:\d+)?$/) != null;
});
要进行客户端验证,请让值通过秒数和秒数
服务器端似乎接受这两种格式(双重检查)