1
EFモデルで検証に問題がありますが、それはわかりません。控えめなJavascriptの検証部分は期待通りに動作します。EF複合型と検証
は、次のモデルを考えてみましょう(RequiredIf
属性がthis libraryからです):
public class Conversation
{
public int Id { get; set; }
public User User { get; set; }
public String Handler { get; set; }
}
[ComplexType]
public class User
{
public bool Anonymous { get; set; }
[RequiredIf("Anonymous", false)]
[Display(Name = "Full name")]
public String Name { get; set; }
}
私のエディタビューにのみUser
のフィールドを示しており、これは私のコントローラです。
[HttpPost()]
public ActionResult Create(Conversation conversation)
{
if (ModelState.IsValid)
{
_db.Conversations.Add(conversation);
_db.SaveChanges(); // fails on this line
}
return RedirectToAction("Index");
}
これは、次のエラーが発生:
DbUnexpectedValidationException: An unexpected exception was thrown during validation of 'Full name' when invoking Mvc.ValidationToolkit.RequiredIfAttribute.IsValid. See the inner exception for details.
と内部例外:
Member 'Conversation.Anonymous' not found.
はなぜ検証が突然Conversation.Anonymous
、およびないConversations.Client.Anonymous
を探していますか?