Я пытаюсь использовать плавную проверку с проектом ASP.NET MVC. Я пытаюсь проверить свою модель представления.
Это моя модель просмотра,
[Validator(typeof(ProductCreateValidator))]
public class ProductCreate
{
public string ProductCategory { get; set; }
public string ProductName { get; set; }
....
}
Это мой класс валидатора,
public class ProductCreateValidator : AbstractValidator<ProductCreate>
{
public ProductCreateValidator()
{
RuleFor(product => product.ProductCategory).NotNull();
RuleFor(product => product.ProductName).NotNull();
}
}
И в своем контроллере я проверяю, действительно ли мое ModelState или нет,
[HttpPost]
public ActionResult Create(ProductCreate model)
{
/* This is a method in viewmodel that fills dropdownlists from db */
model.FillDropDownLists();
/* Here this is always valid */
if (ModelState.IsValid)
{
SaveProduct(model);
return RedirectToAction("Index");
}
// If we got this far, something failed, redisplay form
return View(model);
}
Это то, что у меня есть. Моя проблема в том, что ModelState.IsValid
возвращает true
, когда моя модель просмотра полностью пуста. Нужно ли мне вручную настраивать проверку Fluent, чтобы ошибки модели можно было добавлять в ModalState?