1

Kendo Validatorを使用してクライアント検証を行う Web フォームがあります。クライアントの検証が成功すると、フォームの値が Web サービスに送信され、追加の検証が行われ、データが保存されるかJSON、フォーム フィールドをキーとするエラー メッセージのオブジェクトが返されます。これらのフィールド名data-forは、バリデータ要素の属性と一致します。を使用してこれらのエラーを表示する方法はありKendo Validatorますか?

フィールドごとにサーバー側の検証を行うカスタム ルールを設定できることを認識しています。これは、一度にすべてのフィールドを検証し、複数のエラーを表示することです。

4

2 に答える 2

0

サーバーからいくつかのエラーが返されたときに検証エラーを示す応答イベントと呼び出し関数にアタッチできます。

これを実行できるJavaScriptセクションは次のとおりです。

validationMessageTemplateForReplace = kendo.template(
    '<div class="k-widget k-tooltip k-tooltip-validation k-invalid-msg field-validation-error" style="margin: 0.5em; display: block; " data-for="#=field#" data-valmsg-for="#=field#" id="#=field#_validationMessage">' +
    '<span class="k-icon k-warning"> </span>#=message#<div class="k-callout k-callout-n"></div></div>');

function onResponseEnd(response) {
    if (response.errors) onError(response.errors, $('#myForm'));
}

function onError(errors, element) {
    for (var error in errors) {
        addValidationMessage(element, error, errors[error].errors);
    }
}

function addValidationMessage(container, name, errors) {
    //add the validation message to the form
    var found = container.find("[data-for=" + name + "],[data-val-msg-for=" + name + "],[data-valmsg-for=" + name + "]");
    if (found.length > 0) {
        found.replaceWith(bs.validationMessageTemplateForReplace({ field: name, message: errors[0] }));
        return true;
    }

    return false;
}

このサンプル プロジェクトも参考になるかもしれません。グリッド ポップアップ編集に関連付けられていますが、達成したいメカニズムを示しています。

于 2013-09-20T16:13:54.300 に答える