コンテナーとネストされたビューモデルがあり、EditorFor を使用してネストされたビューモデルをレンダリングします。1 つのビューモデル (ConcreteViewModelA :: prop3) のプロパティの 1 つに検証用の remoteAttribute を追加したいと考えています。ただし、検証コントローラー アクション メソッドでは、取得するのは null だけです。
Validate([Bind(Prefix="item")]string prop3) を使用してみましたが、それでも NULL として返されます。何か案は?
public class SomeContainer
{
public List<ISomethingViewModel> SomeViewModels { get; set; }
}
public class ConcreteViewmodelA : ISomethingViewModel
{
public int prop1 { get; set; }
public int prop2 { get; set; }
[Remote("Validate", "RemoteValidation")]
public string prop3 { get; set; }
}
public class ConcreteViewModelB : ISomethingViewModel
{
public int prop1 { get; set; }
public int prop2 { get; set; }
}
public interface ISomethingViewModel
{
int prop1 { get; set; }
int prop2 { get; set; }
}
意見:
@model test.Models.SomeContainer
@using (Html.BeginForm())
{
@Html.ValidationSummary()
<p>Begin here</p>
foreach (var item in Model.SomeViewModels)
{
@Html.EditorFor(x => item)
}
}