Я знаю, что есть data annotation
для проверки таких данных, как [Required]
, [Range()]
и так далее. Не говоря уже о unobtrusive validation
, что делает его проще на стороне клиента. Большое спасибо им.проверка входящего запроса, который зависит от значения свойства другого объекта?
Но как насчет того, нужно ли проверять значение, зависящее от значения свойства объекта? Я это scenarion, говорят:
Мои модели:
public class Schedule
{
public int Id { get; set; }
public DatetimeOffset StartDate { get; set; }
public DatetimeOffset EndDate { get; set; }
}
Сейчас в form
,
<input type="text" name="StartDate" />
<input type="text" name="EndDate" />
Как бы вы подтвердить, что EndDate
не должно быть less than
StartDate
? Есть ли встроенный attribute
в data annotation
для этого? Или нужно сделать обычную? Было бы здорово, если бы он использовал файл unobstrusive validation
от Microsoft.
Вот еще один сценарий:
Что делать, если вы могли бы сделать проверку, которая зависит от значения, сохраненного в БД? Скажем,
public class Bag
{
//constructor
public int Capacity { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
public class Item
{
//constructor
public string Description { get; set; }
public virtual ICollection<Bag> Bags { get; set; }
}
Что, если бы вы сделали проверку на Items
добавляемое к Bag
, но если пользователь пытается ввести за предел Bag
«s Capacity
, должен показать ошибку проверки.
Возможно ли это?
В настоящее время я использую ASP.NET MVC 4. Первый подход EF5 Code.