2009-07-28 9 views
0

サーバーsidie(.net mvc)で実行するカスタム検証チェックがあります。jqueriesバリデーション・プラグインを使用して、サーバー側からクライアント側にエラーを送信する方法は?

失敗した場合は、入力ボックスの横にメッセージが表示されます(jqueries検証プラグインがどのように機能するか)。

私はこれを行うために呼び出すことができる(検証プラグインに)組み込み関数がありますか?

更新 ソリューションは理想的にはプラグイン自体を使用していますが、私が使用できるメソッド呼び出しがありますか?

答えて

1

xValという名前のオープンソースプロジェクトがあります。プロジェクトのホームページからの抜粋:

プロジェクトの説明xValはASP.NET MVC アプリケーションの検証フレームワークです。 サーバーサイドの バリデーションメカニズムを選択して、クライアント側のバリデーションライブラリ ( )をASP.NET MVC アーキテクチャーと表記規則に合わせて簡単にリンクすることができます。特長

  • モデルプロパティの属性を使用して検証ルールを定義し、 例えば、

    [必須] [StringLengthの(50)]公共 文字列の名前{取得します。セット;以下のためのASP.NET MVCの規則に適合するように設計}

(または、あなたが好むならば、あなたはプログラム的 ルールを供給することができたり、できだけ ハードコードそれら固有のビューで)

  • フォーム投稿を処理する とModelStateにエラー の情報を格納して取得する
  • サーバー側の検証フレームワークを選択して使用します。すぐに使用できるように、 xValを使用すると、.NET 3.5の組み込みの DataAnnotationsクラスまたはCastle Validator(またはその両方)を使用できます。 を別のものに変更したい場合は IRulesProviderを実装するだけで独自のプロバイダを作成できます。
  • クライアント側の検証ライブラリを選択して使用します。すぐに使用できる xValを使用すると、jQuery検証または ASP.NETのネイティブクライアント側 検証ライブラリ( WebFormsで使用される WebUIValidation.js)を使用できます。または、他の クライアント側の検証ライブラリを プラグインを使用して作成して、 xvalの標準JSON規則 記述形式を使用して構成します。
  • リソースファイルを使用してローカライズされたエラーメッセージをサポートします。 スレッドの文化に従ってください あなたの妥当性検査の言語を変更してください。
  • 既存のルールをサブクラス化したり、カスタム検証関数を作成することができますJavaScriptの機能
0

カスタムを参照することにより、いずれか、サーバー上と クライアントの両方で実行されるカスタム検証ロジックを追加し、それをajax呼び出しで結合します。この場合、ajax呼び出しは 'true'または 'false'というテキストを返します。

var customFunction = function(value, element, param) { 
    var isValid = false; 
    $.ajax({ 
     url: '/something', 
     data:{value: value}, 
     success: function(data, textStatus) {isValid = data;}, 
     dataType: 'json', 
     async: false 
    }); 
    return isValid; 
}; 

$.validator.addMethod("customFunction", customFunction, "That isn't valid."); 

$('form').validate({ 
    rules: { 
     fieldname: { 
      customFunction: true 
     } 
    } 
}); 

編集:実は、svintoが代わりに言及し、リモートメソッドを使用します。私はそれが存在するかどうかも知らなかった。私はバカです。

2

はい、これのan exampleがあります。

あなたは基本的にURL?FIELD=valueに電話をかけ、trueまたはfalseを返します。

関連する問題