私はチームに加わる人々に関する情報を収集するフォームのために私のビューモデルを設定しようとしています。フォームにはいくつかのリードアップ情報が含まれていなければならず、最初に2つが必要になる5つの「チームメンバー」(それぞれ名前、電子メール、および電話番号を含む)のリストが含まれている必要があります。私のviewmodelの関連部分は、現在あるオプション複合型の[必須]
Person 1:
Name: (validation messaage)
Email: (validation message)
Phone: (validation message)
Person 2:
Name: (validation messaage)
Email: (validation message)
Phone: (validation message)
Person 3:
Name:
Email:
Phone:
Person 4:
Name:
Email:
Phone:
Person 5:
Name:
Email:
Phone:
:
[Required]
public TeamMember TeamMember1 { get; set; }
[Required]
public TeamMember TeamMember2 { get; set; }
public TeamMember TeamMember3 { get; set; }
public TeamMember TeamMember4 { get; set; }
public TeamMember TeamMember5 { get; set; }
はとても私の見解で、私は書く:
を私の検証のために私はそれがこのような個々のフィールド、上になりたいです@Html.EditorFor(model=>model.TeamMember1)
@Html.EditorFor(model=>model.TeamMember2)
@Html.EditorFor(model=>model.TeamMember3)
@Html.EditorFor(model=>model.TeamMember4)
@Html.EditorFor(model=>model.TeamMember5)
エディタテンプレートは次のようになります。
@model MyProject.Models.TeamMember
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Phone)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Phone)
@Html.ValidationMessageFor(model => model.Phone)
</div>
すごく1つのスレッドに投げてしまって申し訳ありませんが、これを設定するにはどうすればよいと思いますか?私はRequiredAttributeを継承し、[必須]をTeamMemberプロパティに置き換えることを考えましたが、子フィールドの検証メッセージを設定する方法がわかりません。今は空の場合でも必要なチェックを渡しますが、すべてのプロパティが空白であってもオブジェクトがバインドされているため(nullではないため)、私は推測しています。
フィードバックは高く評価されます。