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、他のものにリダイレクトする必要があります。投稿されたモデルの検証情報となるため、例えばなどの方法は使えません。また、取得しただけで、それが無効である理由についての情報を取得できないため、使用できません。したがって、無効な場合または無効な場合にリダイレクトすることはできません。Prop3Prop2SessionModelStateModelState.IsValidField()controller.TryValidateModel(originalModel)falsefalseView1Prop1View3Prop3では、originalModel の Prop1 のみを検証するにはどうすればよいでしょうか?