0

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

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> 

任何帮助真的apprecited!谢谢!

回答

0

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

看清楚This example清楚的类似情况