インライン編集モードでの剣道検証メッセージ剣道グリッドがデータ注釈を介して機能しない

Anastasios Selmanis

ASP.NETMVC用の剣道UIを使用しています。インライン編集モードの剣道グリッドがあり、列にいくつかのClientEditorTemplateDropDownListsがあります。グリッドは、モデルのリスト「ContractPricingPolicy」にバインドされています。

public class ContractPricingPolicy
{
    //Some other fields

    [CustomDisplayName(XmlResourceNames.ContractPricingPoliciesXml, "PricingPolicyType")]
    [UIHint("ClientPricingPolicyType")]
    [Required(ErrorMessage = "Tο πεδίο {0} είναι υποχρεωτικό")]
    public PricingPolicyType PricingPolicyType { get; set; }

    //Some other fields
}

ご覧のとおり、EditorTemplateにはUIHintを使用し、フィールドの検証にはRequired DataAnnotationを使用しています。エディターテンプレートは次のようなものです。

@(Html.AthenaTransportDdl("GetPricingPolicyTypes", "Enterprise", HttpVerbs.Post)
    .Name("PricingPolicyType")
    .DataTextField("Label")
    .DataValueField("Id")
    .AutoBind(false)
    .Filter("contains")
    .HtmlAttributes(new { @class = "atn-flexdisplay-container" })
    .OptionLabel(Html.GetResource(AthenaWeb.Models.Common.XmlResourceNames.CommonXml, "PricingPolicyTypeOptionLabel"))
)

私の剣道グリッドはそのようなものです:

@(Html.Kendo().Grid(Model.PricingPolicies)
        .Name("pricingPoliciesGrid")
        .Columns(columns =>
        {
            columns.Bound(c => c.Id).Hidden();
            columns.Bound(c => c.PricingPolicyType).Width(100)
            // Some more columns
            columns.Command(command => { command.Edit().Text(" ").UpdateText(" ").CancelText(" "); command.Destroy().Text(" "); }).Width(70)
            .HtmlAttributes(new { style = "text-align:center" });
        })
        .ToolBar(toolbar => toolbar.Template("<div class='col-md-2'><button id='addPPRowBtn' class='btn btn-success' data-atn-mouseover='cStatusDisabled'><span class='fa fa-plus'></span> " + Html.GetResource(gcw, "ToolBarInsertNew") + "</div>"))
        .Editable(editable => editable.Mode(GridEditMode.InLine).DisplayDeleteConfirmation(Html.GetResource(cpp, "DeleteConfirmationMsg")))
        .DataSource(dataSource => dataSource
            .Ajax()
            .ServerOperation(true)
            .Model(model =>
            {
                model.Id(c => c.Id);
                model.Field(p => p.PricingPolicyType).DefaultValue(new AthenaWeb.Models.Enterprise.PricingPolicyType());
                // Some other fields
            })
        .Create(create => create.Action("PricingPolicy_Create", "Student"))
        .Read(read => read.Action("PricingPolicy_Read", "Student", new { id = Model.Id }))
        .Destroy(update => update.Action("PricingPolicy_Deactivate", "Student"))
        )
    )

価格設定ポリシーを選択せず​​に新しい行を挿入して行を保存しようとすると、データ注釈からの検証がトリガーされません。ただし、エディターテンプレートに必要な属性を次のように設定した場合:

(Html.AthenaTransportDdl("GetPricingPolicyTypes", "Enterprise", HttpVerbs.Post)
    .Name("PricingPolicyType")
    .DataTextField("Label")
    .DataValueField("Id")
    .AutoBind(false)
    .Filter("contains")
    .HtmlAttributes(new { @class = "atn-flexdisplay-container", required = "required" })
    .OptionLabel(Html.GetResource(AthenaWeb.Models.Common.XmlResourceNames.CommonXml, "PricingPolicyTypeOptionLabel"))
)

検証がトリガーされますが、表示されるメッセージはデフォルトです。データ注釈にメッセージを表示する必要がある場合、フィールド{NameOfField}は必須です。

私の質問は、なぜこれが発生するのか、そしてデータ注釈検証メッセージを表示できるようにするにはどうすればよいですか(正確な質問は、エディターテンプレートにバインドされたフィールドの行に対してkendoValidatorをトリガーする方法だと思います)

raki.dbit

エディタテンプレートを使用して列に対して検証を機能させるには、エディタテンプレートに以下を追加する必要があります

.HtmlAttributes(Html.GetUnobtrusiveValidationAttributes( "Validation"、
ViewData.ModelMetadata))

    (Html.AthenaTransportDdl("GetPricingPolicyTypes", "Enterprise", HttpVerbs.Post)
        .Name("PricingPolicyType")
        .DataTextField("Label")
        .DataValueField("Id")
        .AutoBind(false)
        .Filter("contains")
        .HtmlAttributes(Html.GetUnobtrusiveValidationAttributes("Validation",     
           ViewData.ModelMetadata))  
.OptionLabel(Html.GetResource(AthenaWeb.Models.Common.XmlResourceNames.CommonXml, "PricingPolicyTypeOptionLabel"))
    )

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

剣道グリッドページングがMVCで機能しない

分類Dev

剣道グリッド編集テンプレートデータバインド-データなし

分類Dev

剣道グリッドインライン編集モードで手動で更新したデータを保存する方法

分類Dev

剣道グリッドインライン編集モードで手動で更新したデータを保存する方法

分類Dev

クライアントテンプレートが剣道グリッドで機能しない

分類Dev

剣道グリッドページングが機能しない

分類Dev

剣道UIグリッドがクライアント側の検証エラーにデータを投稿できないようにする

分類Dev

剣道グリッドでイベントなしで編集モードになっている行を知る方法

分類Dev

永続状態をロードした後、剣道UIグリッド編集ボタンが機能しない

分類Dev

編集モードの剣道UIグリッドでメール形式に検証を適用する

分類Dev

剣道グリッドがデータMVVMを表示しない

分類Dev

剣道グリッドがすべてのデータ/列を表示しない

分類Dev

剣道グリッドの[更新]ボタンをクリックすると、データベースへの挿入は機能しますが、グリッドが編集モードを終了することはありません。

分類Dev

剣道コンボボックスが必要な検証メッセージをトリガーしない

分類Dev

剣道グリッドの並べ替えが空白のデータで機能しない

分類Dev

剣道グリッドは、グリッドが編集モードのときに編集を防止します

分類Dev

剣道グリッドがローカルデータをページングしない

分類Dev

剣道グリッドでのExcelのようなフィルタリングが機能していない

分類Dev

剣道グリッドイベントがデリゲートと連携していない

分類Dev

AJAXデータの後に剣道UIグリッドポップアップが機能しない

分類Dev

角型スタイルが剣道グリッドで機能しない

分類Dev

剣道グリッドサーバー側のフィルタリングと機能しない

分類Dev

セレンWebドライバーを介した剣道UIグリッド選択行

分類Dev

剣道グリッドフィルターが機能しない

分類Dev

剣道グリッド:汚れたセルインジケーターの削除

分類Dev

JSP剣道グリッド編集/追加スプリングレスト剣道UIv2015.3.1111からのエラー応答を処理します

分類Dev

Bootstrap 3グリッドシステムがサードパーティスタイルのdiv内で正しく機能しない(剣道)

分類Dev

剣道グリッドインライン編集の日付範囲の検証

分類Dev

剣道グリッドのクライアントテンプレートを介してセルにcssを追加します

Related 関連記事

  1. 1

    剣道グリッドページングがMVCで機能しない

  2. 2

    剣道グリッド編集テンプレートデータバインド-データなし

  3. 3

    剣道グリッドインライン編集モードで手動で更新したデータを保存する方法

  4. 4

    剣道グリッドインライン編集モードで手動で更新したデータを保存する方法

  5. 5

    クライアントテンプレートが剣道グリッドで機能しない

  6. 6

    剣道グリッドページングが機能しない

  7. 7

    剣道UIグリッドがクライアント側の検証エラーにデータを投稿できないようにする

  8. 8

    剣道グリッドでイベントなしで編集モードになっている行を知る方法

  9. 9

    永続状態をロードした後、剣道UIグリッド編集ボタンが機能しない

  10. 10

    編集モードの剣道UIグリッドでメール形式に検証を適用する

  11. 11

    剣道グリッドがデータMVVMを表示しない

  12. 12

    剣道グリッドがすべてのデータ/列を表示しない

  13. 13

    剣道グリッドの[更新]ボタンをクリックすると、データベースへの挿入は機能しますが、グリッドが編集モードを終了することはありません。

  14. 14

    剣道コンボボックスが必要な検証メッセージをトリガーしない

  15. 15

    剣道グリッドの並べ替えが空白のデータで機能しない

  16. 16

    剣道グリッドは、グリッドが編集モードのときに編集を防止します

  17. 17

    剣道グリッドがローカルデータをページングしない

  18. 18

    剣道グリッドでのExcelのようなフィルタリングが機能していない

  19. 19

    剣道グリッドイベントがデリゲートと連携していない

  20. 20

    AJAXデータの後に剣道UIグリッドポップアップが機能しない

  21. 21

    角型スタイルが剣道グリッドで機能しない

  22. 22

    剣道グリッドサーバー側のフィルタリングと機能しない

  23. 23

    セレンWebドライバーを介した剣道UIグリッド選択行

  24. 24

    剣道グリッドフィルターが機能しない

  25. 25

    剣道グリッド:汚れたセルインジケーターの削除

  26. 26

    JSP剣道グリッド編集/追加スプリングレスト剣道UIv2015.3.1111からのエラー応答を処理します

  27. 27

    Bootstrap 3グリッドシステムがサードパーティスタイルのdiv内で正しく機能しない(剣道)

  28. 28

    剣道グリッドインライン編集の日付範囲の検証

  29. 29

    剣道グリッドのクライアントテンプレートを介してセルにcssを追加します

ホットタグ

アーカイブ