【发布时间】:2017-06-27 16:34:29
【问题描述】:
我有两个需要验证的日期值。这个验证是复合的:一个日期必须比另一个日期早(想想 StartingDate 和 FinishDate)。
我如何对此进行验证?
基于这个post,它似乎构成了类似的情况,一个建议是使用MVC Foolproof Validation。这仍然是最好的选择吗?还有其他方法可以验证此类任务吗?
我的代码在视图中,如果有帮助的话:
<div class="row">
<div class="col-md-3">
<div class="row">
<div class="col-md-5">
<span class="glyphicon glyphicon-calendar" aria-hidden="true"></span>
<span style="font-size:large;">Início </span>
</div>
<div class="col-md-7">
@Html.EditorFor(model => model.Inicio, new { htmlAttributes = new { @class = "form-control datetimepicker" } })
</div>
</div>
</div>
<div class="col-md-3">
<div class="row">
<div class="col-md-5">
<span class="glyphicon glyphicon-calendar" aria-hidden="true"></span>
<span style="font-size:large;">Fim </span>
</div>
<div class="col-md-7">
@Html.EditorFor(model => model.Fim, new { htmlAttributes = new { @class = "form-control datetimepicker" } })
</div>
</div>
</div>
</div>
<script>
<!--jQuery DateTimePicker-->
jQuery('.datetimepicker').datetimepicker({
format: 'd/m/Y H:i'
});
</script>
【问题讨论】:
-
是否需要在视图中进行此验证?因为如果这个页面正在被提交,你也可以在控制器中检查这个,如果条件为真则返回错误信息。
-
该页面正在提交,不,它不一定必须在视图中。你能给我看一个这种验证的模糊例子吗?
-
所以我明白了.. 你所需要的只是验证 endDate 是否小于 startdate?
-
正确,并显示一条消息,告知用户错误原因。
-
我的回答有帮助吗?
标签: asp.net validation date razor asp.net-mvc-5