CompareValidatorにJS検証関数を追加することは可能ですか?
私はCustomValidatorを使用できません。私はこれが未解決であるので、あなたはまだそれを必要とするかどうか、私はしかし、ではないと仮定わからないCompareValidatorにJS検証を追加する
1
A
答えて
0
...
さて、あなたはそれを直接行うことはできません、しかし、あなたは、元の関数を非表示にすることができますCompareValidatorの検証を担当し、新しいものを導入します。これは可能です。すべての検証関数は、グローバルスコープのASP.NETから来ています。議論の余地はありますが、その場合は参考になります。
次のモジュールを探してください。それはあなたに2つの方法を公開します。最初にと呼ばれるaddFunctionでは、カスタム検証のために1つ以上の関数を追加することができます。この関数は、ブールを返す必要があり、それは、それぞれ三つのパラメータバリデータオブジェクト、対象物体とCompareObjectを消費します。もう1つは、disableOldFunctionを使用すると、すべての関数が有効であればモジュールによって呼び出される古い検証関数を完全に取り除くことができます。
var MyModules = {};
MyModules.CompareValExtension = function()
{
var functions = new Array();
var oldFunc = null, disabled = false;
function myCompareValidatorEvaluateIsValid(val)
{
var valid = true;
if (oldFunc && functions.length)
{
for (i in functions)
{
valid = functions[i](val, document.getElementById(val.controltovalidate), document.getElementById(val.controltocompare));
if (!valid) { break; }
}
if (!disabled && valid)
{
valid = oldFunc(val);
}
}
return valid;
}
if (typeof CompareValidatorEvaluateIsValid != 'undefined')
{
oldFunc = CompareValidatorEvaluateIsValid;
window.CompareValidatorEvaluateIsValid = myCompareValidatorEvaluateIsValid;
}
var me = {};
me.addFunction = function (func) { if (typeof func == "function") { functions.push(func); } }
me.disableOldFunction = function() { disabled = true; }
return me;
}();
使用例:
MyModules.CompareValExtension.addFunction(function (val, elem, comp)
{
return elem.value == "my value";
});
MyModules.CompareValExtension.disableOldFunction();
が警告:デフォルトの検証スクリプトが既に整っていることを確認するためにページの一番下のどこかに、このモジュールを配置してください。また、モジュールを少し書き直して、ドキュメントの準備が整うまで初期化を遅らせることもできます。
+0
正確に何をしたのですか? – scatman
関連する問題
- 1. 検証結果の後にカスタムjsを追加する方法
- 2. tkinterコードに検証を追加する
- 3. jQuery検証カスタム検証でスペース検証を追加しない
- 4. datepickerのカスタム検証を追加する
- 5. 検証に自分のjavascriptを追加
- 6. javascriptの検証サマリにエラーメッセージを追加
- 7. jQuery検証プラグインを使用してアップロードフォームに検証を追加する
- 8. 検証JSテスト
- 9. JSラジオ検証
- 10. Ember Dataにクライアント側の検証エラーを追加するには?
- 11. フォーム検証エラーリストにエラーを追加するには?
- 12. チェックボックスグループに必要なフィールド検証を追加するには?
- 13. @ html.ValidationSummaryリストにreCAPTCHA検証エラーを追加するには
- 14. SumoSelectドロップダウンにjQueryの検証を追加するには?
- 15. 私の機能に検証フォームを追加するには?
- 16. 入力の検証後にオブジェクトをKnockoutJSに追加する
- 17. asp.net mvc検証を追加するとモデルがnullになる
- 18. 登録名フィールドの検証を追加
- 19. テキストフィールドを検証し、警告テキストをテキストボックスに追加する
- 20. 送信ボタンなしでjQuery検証にメソッドを追加する
- 21. Angularjsが動的に追加したものを検証する
- 22. 動的に追加されたフォームを検証する
- 23. 検証サービスにデバウンス時間を追加する方法Angular2?
- 24. RadSchedulerRecurrenceEditorに検証を追加する方法は?
- 25. Magentoプロトタイプにカスタム検証を追加する方法
- 26. フォームにチェックボックスの検証を追加する
- 27. 角度2のブートストラップフォームを検証サポートで追加するには?
- 28. ドメイン文字列をCakePHPモデルの検証メッセージに追加する
- 29. jQueryでDOMに追加されたフォームを検証する
- 30. 配列に番号を追加する#検証番号のみ
どのような値を比較したいですか? –
私は日付を比較したいが、アプリケーションは異なる日付形式を扱うことができるので、comparevalidatorは正しく動作していない。だから私は自分自身の検証機能を作ることができればもっと良いだろうと思う。私は現在、私の問題を解決するためにBaseValidatorをオーバーライドしていますが、このソリューションではすべてのページに戻り、バリデータの名前を変更する必要があります。 – scatman
CustomValidatorを使用できないのはなぜですか?それは私たちがあなたを助けるのを助けるかもしれません。 – jcolebrand