Как получить полный контроль над обработкой аннотаций данных, таких как [Required(ErrorMessage = "Title is required")]
?
В настоящее время моя система игнорирует необходимую аннотацию и, таким образом, принимает нулевое значение при редактировании.
Как ни странно, это не изменилось обратно в базу данных, где данные / поля не повреждены. Так что я думаю, что LINQ хранит некоторые раздражающие локально ...
Вам нужно больше деталей? Это в основном простые методы действий GET / POST в MVC2.
EDIT:
Модель выглядит так:
public class HomeContent {
[Required(ErrorMessage = "* Id is required")]
public int Id { get; set; }
[Required(ErrorMessage = "* Title is required")]
[StringLength(50, ErrorMessage = "* Title is too long")]
public string Title { get; set; }
[Required(ErrorMessage = "* Content is required")]
[StringLength(8000, ErrorMessage = "* Content is too long")]
//8000 = varchar(MAX)
public string Content { get; set; }
[Required(ErrorMessage = "* You need to specify a language")]
public int Language { get; set; }
}
Действие контроллера выглядит так:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult HomeControl(HomeContent homeContent) {
if (!DatabaseService.Instance.ModifyHomeContent(homeContent)) {
ViewData["Error"] = "An error occured during saving data to the page.";
} else {
ViewData["Error"] = "Changes has been saved!";
}
return View();
}
Я обнаружил, что обтекание if(ModelState.IsValid) { ... }
вокруг вызова метода класса обслуживания будет полностью проверять аннотации данных.