2

JQuery を使用して、必須フィールド、正規表現などの Asp.NET バリデーターにアクセスするにはどうすればよいですか?
Jquery を使用して表示を制御し、カスタマイズするにはどうすればよいでしょうか。

4

1 に答える 1

1

要するに、はい、Javascript からバリデーターにアクセスできます (実際にはそれを行うために jQuery は必要ありません)。もちろん、クライアント側の検証が有効になっている場合 (つまり、 EnableClientScriptプロパティを持つページに少なくとも 1 つの有効で表示されているバリデーターがある場合)。に設定true)。

バリデータ オブジェクトは、グローバルPage_Validators配列で使用できます。で個々のバリデータを無効または有効にしValidatorEnable()、 で検証を強制できValidatorValidate()ます。この MSDN の記事では、クライアント側の検証 API について詳しく説明しています。

バリデーターの検証メソッドを再バインドすることで、任意のカスタマイズを実現できます。私のこの古い回答は、プレーンなJavascriptでプロセスを文書化しており、jQueryを使用すると、次のようになります。

if (window.Page_Validators) {
    $.each(window.Page_Validators, function(index, validator) {
        validator.__old_evaluationfunction = validator.evaluationfunction;
        validator.evaluationfunction = function(value) {
            var element = validator.controltovalidate;
            if (!validator.__old_evaluationfunction(value)) {
                // Validation failed - turn 'element' red, scream at the user, etc.
                return false;
            } else {
                // Validation succeeded - restore 'element' to its normal state.
                return true;
            }
        };
    });
}
于 2013-03-29T11:06:31.880 に答える