ist es möglich, eine JS-Validierungsfunktion für CompareValidator hinzuzufügen?
Ich kann keinen CustomValidator verwenden.JS-Validierung auf CompareValidator hinzufügen
Antwort
Ich bin nicht sicher, ob Sie brauchen es noch oder nicht, ich gehe davon jedoch nicht, da diese unbeantwortet ist ...
Nun, man kann es nicht direkt tun, aber Sie können ursprüngliche Funktion verbergen was verantwortlich für CompareValidator Validierung und Einführung neuer. Dies ist möglich, weil alle Validierungsfunktionen von ASP.NET in globalem Umfang stammen, was ... umstritten ist, aber in diesem Fall hilfreich ist.
Hier finden Sie die folgenden Module, die die Arbeit erledigen. Es macht zwei Methoden verfügbar. Zuerst aufgerufen addFunction können Sie eine oder mehrere Funktionen für die benutzerdefinierte Überprüfung hinzufügen. Diese Funktion sollte kehrt Boolean und verbraucht drei Parameter Validator Objekt, Target und CompareObject sind. Zweite genannt disableOldFunction ermöglicht es Ihnen, vollständig alte Validierungsfunktion loszuwerden, die vom Modul aufgerufen wird, wenn alle Ihre Funktionen gültig sind.
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;
}();
Beispiel Nutzung:
MyModules.CompareValExtension.addFunction(function (val, elem, comp)
{
return elem.value == "my value";
});
MyModules.CompareValExtension.disableOldFunction();
Caveat: Bitte legen Sie dieses Modul irgendwo auf der Seite unten sicher sein, dass Standard-Validierungsskripts bereits vorhanden sind. Sie können das Modul auch etwas umschreiben, um die Initialisierung zu verzögern, bis das Dokument fertig ist.
genau was ich getan habe. – scatman
- 1. CompareValidator Datumsformat
- 2. Wie ändert man den ValueToCompare in CompareValidator durch Javascript?
- 3. CompareValidator arbeitet in EditItemTemplate der Listenansicht aber nicht in InsertItemTemplate
- 4. Wie mache ich die CompareValidator-Überspringprüfung für ein leeres Zielsteuerelement?
- 5. die CompareValidator Steuerung Mit der Benutzereingabe Datum mit dem heutigen Datum
- 6. CompareValidator erlaubt keine Tausendertrennzeichen - ist das ein Fehler oder ein Designfehler?
- 7. Klasse hinzufügen auf Bildlauf
- 8. hinzufügen Untertableview auf Tableview
- 9. Hinzufügen Beschleunigung auf AnfrageAnimationFrame
- 10. hinzufügen Dezimaltrennzeichen auf IDs
- 11. Parameter auf UITapGestureRecognizer hinzufügen
- 12. Bildsymbol auf Schaltflächen hinzufügen?
- 13. ObservableCollection + Raise auf Hinzufügen
- 14. hinzufügen Klasse auf schweben auf Angular JS
- 15. Hinzufügen .png Wasserzeichen auf .jpg
- 16. Hinzufügen von Kopfzeilen auf JavaScript
- 17. Schaltfläche oben auf JTable hinzufügen
- 18. Programmatisch hinzufügen Schaltfläche auf Android
- 19. Stunden basierend auf Herkunftsland hinzufügen
- 20. Bild auf 3 Registerkarten hinzufügen
- 21. Klasse hinzufügen auf Svg Pfadelement
- 22. Java: Platzhalter auf JTextField hinzufügen
- 23. Hinzufügen UITextField auf UIView programmgesteuert
- 24. Verweis hinzufügen auf .dll asp.net
- 25. Nullwerte auf ein Array Hinzufügen
- 26. Hinzufügen von NAPDEF auf Nokia
- 27. hinzufügen Klasse auf ein Element
- 28. Wie JScrollPane auf JTextArea hinzufügen
- 29. CompilerParameters.ReferencedAssemblies - Verweis auf System.Web.UI.WebControls hinzufügen
- 30. Index auf Jsonb Feld hinzufügen
Sie möchten welche Werte vergleichen? –
Ich möchte Daten vergleichen, aber da die Anwendung verschiedene Datumsformate verarbeiten kann, funktioniert der comparevalidator nicht richtig. also ich denke, wenn ich meine eigene Validierungsfunktion erstellen könnte, wäre es viel besser. Ich übergebe derzeit BaseValidator, um mein Problem zu lösen, aber mit dieser Lösung sollte ich auf jede Seite zurückkehren und die Validatoren umbenennen. – scatman
Warum können Sie keinen CustomValidator verwenden? Das könnte uns helfen, Ihnen besser zu helfen. – jcolebrand