[必須]属性を設定したプロパティセットを持つUserModelを含むUserFormModelがあります。私が読んだことは、デフォルトでMVC 3がモデル内のモデルを検証することです。しかし、空のUserModelを含むUserFormModelを返すビューの空のフォームを送信すると、ModelState.IsValidは常にtrueになります。複雑なモデルでMVC 3の検証が機能しない
私はUserModelをコントローラに送り返してみましたが、それはokを検証します。私が複雑なモデルを使って作業していて、検証していないように見えます。
私はUserFormModel内のUserプロパティの[必須]属性(デフォルトの動作には必要ないと思われますが)も検証しました。
これについてのアイデアは非常に高く評価されます。
public class UserFormModel
{
public UserModel User;
public IEnumerable<SelectListItem> Roles { get; set; }
}
public class UserModel : ModelBase
{
[Required]
public string UserName { get; set; }
public string Title { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
[HttpPost]
public ActionResult Create(UserFormModel userFormModel)
{
if (ModelState.IsValid)
{
// Do Something
}
}
ビューはどのように表示されますか? – nemesv