4 つのプロパティを持つモデル クラスがあります。
public class ModelClass
{
[Required]
public string Prop1 { get; set; }
[MaxLength(5)]
public string Prop2 { get; set; }
[MinLength(5)]
public string Prop3 { get; set; }
[MinLength(5)]
public string Prop4 { get; set; }
}
prop2のみを入力するビュー:
@model ModelClass
@Html.TextBoxFor(m => m.Prop2)
そしていくつかのコントローラー:
[HttpPost]
public ActionResult Index(ModelClass postedModel)
{
var originalModel = Session["model"] as ModelClass;
return View();
}
問題は、モデル全体が に格納されてSession
いることです。Prop1
必要なのは、に保存されたモデルのみを検証することですSession
。検証が失敗したView1
場合Prop1
は、 invlaid の場合、またはが無効の場合などView3
、他のものにリダイレクトする必要があります。投稿されたモデルの検証情報となるため、例えばなどの方法は使えません。また、取得しただけで、それが無効である理由についての情報を取得できないため、使用できません。したがって、無効な場合または無効な場合にリダイレクトすることはできません。Prop3
Prop2
Session
ModelState
ModelState.IsValidField()
controller.TryValidateModel(originalModel)
false
false
View1
Prop1
View3
Prop3
では、originalModel の Prop1 のみを検証するにはどうすればよいでしょうか?