非常に単純なオブジェクトを追加するためのビューがあります。
@Html.ValidationSummary(true)
@using (Html.BeginForm())
{
<div class="editor-label">
@Html.LabelFor(tag => tag.Name)
</div>
<div class="editor-field">
@Html.EditorFor(tag => tag.Name)
@Html.ValidationMessageFor(tag => tag.Name)
</div>
<input type="submit" value="Insert" class="submit_btn" />
}
私はこのようなコントローラーを作りました:
if (ModelState.IsValid)
{
...
context.Tags.Add(Tag);
context.SaveChanges();
return RedirectToAction("Index");
}
return View(Tag);
モデルはデータベーススキーマから(edmxの一部として)生成されています。フィールド名のnull許容プロパティはfalseに設定されています。
何らかの方法で、空白の入力「名前」の場合、ModelState.IsValidプロパティはtrueであり、それを保存しようとしています(SaveChanges()では、検証エラーでクラッシュします)。なんで?