MVC 用户 TimeSpan 属性限制和相互依赖



我在创建用户预订应用程序时遇到了问题。 基本上,除了最小值和最大值等基本属性限制外,我还需要一个值依赖于另一个值。在我的应用程序中,用户可以在湖边预订钓鱼点。我需要它整整几个小时。例如,如果他们想在 12:40 开始钓鱼,他们可以在 13:40、14:40、15:40 等结束。我该怎么做? 我的模型看起来像这样(Rezervaces 是我存储用户预订的对象(:

public partial class Rezervaces
{
public int RezId { get; set; }
public int UserId { get; set; }
public string UserPhone { get; set; }
[Required(ErrorMessage = "Time of start is required")]
public System.TimeSpan TimeStart{ get; set; }
[Required(ErrorMessage = "Time of finish is required")]
public System.TimeSpan TimeFinish{ get; set; }
[Required(ErrorMessage = "Date is required")]
[Range(DateTime.Now, DateTime.MaxValue)]
public System.DateTime DateDate{ get; set; }
}

我的视图编辑器看起来像这样:

<divclass="form-group">
<bclass="control-labelcol-md-2">Timestart</b>
<divclass="col-md-10">
@Html.EditorFor(model=>model.TimeStart,new{htmlAttributes=
new{@class="form-control",@Value=
(DateTime.Now.AddMinutes(10)).TimeOfDay}})
@Html.ValidationMessageFor(model=>model.CasOd,"",new{
@class="text-danger"})
</div>
</div>
<divclass="form-group">
<bclass="control-labelcol-md-2">Timefinish</b>
<divclass="col-md-10">
@Html.EditorFor(model=>model.TimeFinish,new{htmlAttributes
=new{@class="form-control"},@Value=
(DateTime.Now.AddMinutes(10).AddHours(1)).TimeOfDay})
@Html.ValidationMessageFor(model=>model.CasDo,"",new{
@class="text-danger"})
</div>
</div>
<divclass="form-group">
<bclass="control-labelcol-md-2">Date</b>
<divclass="col-md-10">
@Html.EditorFor(model=>model.DateDate,new{htmlAttributes=
new{@class="form-control",@Value=DateTime.Now}})
@Html.ValidationMessageFor(model=>model.Datum,"",new{
@class="text-danger"})
</div>
</div>
<divclass="form-group">
<divclass="col-md-offset-2col-md-10">
<inputtype="submit"value="Addreservation"class="btnbtn-
default"style="background-color:darkseagreen;color:white"/>
</div>
</div>

任何帮助都非常感谢!谢谢!

我不是 MVC 专家,但您的案例似乎是典型的服务器端验证,在控制器操作中执行。

看看这个例子,有一个明显的类似情况

最新更新