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