我有一個從控制器回傳的保留天數串列。我想在模型驗證中比較它們。在資料已保留時給出錯誤。
預訂控制器.cs
[HttpGet]
public List<string> GetReservedDays()
{
[...]
return reserved_days;
}
我想用這些天
預訂模型.cs
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var property = new[] { "EndOfReservation" };
if (EndOfReservation < StartOfReservation)
{
yield return new ValidationResult("End must be after start", property);
}
var reservedDays = GetReservedDays(); // Error CS0103 The name 'GetReservedDays' does not exist in the current context Reservation2
foreach(var day in reservedDays)
{
if(StartOfReservation < day && day < EndOfReservation)
{
yield return new ValidationResult("This date is reserved", property);
}
}
}
如何讓 GetReservedDays() 在模型中作業?
uj5u.com熱心網友回復:
我在 Internet 上發現,應該在控制器中執行基于資料庫資料的驗證。
在 Create() 方法中,我通過以下方式進行驗證并給出錯誤:
ModelState.AddModelError("StartOfReservation", "ERROR MESSAGE");
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454907.html
