Я пытаюсь создать проверку для моих полей в представлении, поэтому, если пользователь оставляет их пустыми, под каждым полем появляется сообщение проверки.
Моя проблема - каждый раз, когда я проверяю проверку, оставляя одинпустых полей я получаю context.SaveChanges()
ошибку и получаю это сообщение
Проверка не удалась для одного или нескольких объектов.См. Свойство EntityValidationErrors для получения более подробной информации, в чем здесь проблема?
Вот моя модель
public class NewsViewModel
{
public int Id { get; set; }
[Required(ErrorMessage = "Title is required")]
public string Title { get; set; }
[Required(ErrorMessage = "Text is required")]
public string Text { get; set; }
}
Вот мой контроллер,
public ActionResult AlterNews(News model )
{
var context = new BackOfficeEntities();
if (ModelState.IsValid)
{
var update = context.News.SingleOrDefault(x => x.Id == model.Id);
update.Title = model.Title;
update.Text = model.Text;
context.SaveChanges();
return RedirectToAction("Index", "News");
}
return View(model);
}
И наконец, вид
@using (Html.BeginForm("AlterNews", "News"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary("", new { @class = "text-danger" })
<fieldset>
<div class="col-md-4">
<div class="form-group">
@Html.HiddenFor(Model => Model.Id, new { @class = "control-label" })
@Html.LabelFor(Model => Model.Title)
@Html.TextBoxFor(Model => Model.Title, new { @class = "form-control" })
@Html.ValidationMessageFor(Model => Model.Title)
</div>
<div class="form-group">
@Html.LabelFor(Model => Model.Text, new { @class = "control-label" })
@Html.TextAreaFor(Model => Model.Text, new { @class = "form-control", rows = "10" })
@Html.ValidationMessageFor(Model => Model.Text)
</div>
</div>
</fieldset>
<div class="col-md-4">
<button type="submit" class="btn btn-default" name="buttonSubmit" value="Edit News">Edit News</button>
</div>
}
@section scripts {
@Scripts.Render("~/bundles/jqueryval")
}