0

次のコードが ajax 呼び出しを介して取得されると、バリデーターはビューに書き込まれません。これらの部分ビューはいくつでもページに追加でき、テキストボックスは日付ピッカーを取得するため、一意の ID が生成されます。私は確かにどんな助けにも感謝します.vie

@using Nautilus.Core.Model.Enumeration
@using Nautilus.Web.Models
@using Nautilus.Web.Views.Tools
@model IntensityHistoryModel

<tr>
    <td class='removeIntensityScore' title='Click to remove this item.'></td>
    <td>
        <span></span>
    </td>
    <td>
        @Html.ValidationMessageFor(m => m.IntensityDateGUID)
        @Html.TextBoxFor(m => m.IntensityDate, new { id = Model.IntensityDateGUID, @class = "intensityScoreDate", style = "width:120px" })
    </td>
    <td>
        @Html.DropDownList("IntensityScore", ViewHelper.GetSelectListWithDescriptionFromEnum<IntensityScore.Values>("", new[] { "0" }), " -- Select -- ", new { style = "width:150px;margin:0" })
    </td>
</tr>
4

2 に答える 2

1

ajax 呼び出しを行う場合、コールバック関数で検証を再度呼び出す必要があります。

そんな感じ

$("#myDiv").load($("#myA").attr("href"), function () {
        $.validator.unobtrusive.parse("#myFormPartial");
});
于 2012-07-18T20:49:39.450 に答える
0

要素がフォームに含まれていないため、検証データ属性は含まれていません。FormContext回避策は、部分ビューの を初期化することです。

@{
    ViewContext.FormContext = new FormContext();
}

<tr><!-- your partial content --></tr>
于 2012-07-18T20:53:13.873 に答える