2009-06-26 6 views
0

Ich brauche einen benutzerdefinierten Validator, der in irgendeiner Weise eine benutzerdefinierte Variable enthalten kann, wenn die clientseitige JavaScript-Validierung aufgerufen wird. Dieser Validator wird in einem Repeater verwendet, und jedes Element im Repeater muss den benutzerdefinierten Validator verwenden, aber gegen seine eigene Variable validieren. Ist das möglich und wie kann ich das machen?Hinzufügen einer Variablen zu einem ASP.NET CustomValidator

Beispiel, ich brauche seine JavaScript-Funktion Validierung wie JavascriptValidation zu sein (Absender, args, MYVARIABLE)

Oder ist es eine Möglichkeit, meine Variable in dem 'args' zu integrieren? Ich bin mir nicht sicher, was das ist.

Danke!

Antwort

0

Woher kommt die Variable? d. h. ist es im DOM verfügbar?

Wenn dies der Fall ist, könnten Sie den Wert des DOM-Knotens in Ihrem benutzerdefinierten Validator abrufen?

Falls nicht, empfiehlt es sich, die clientseitige Validierung zu deaktivieren und nur auf dem Server zu validieren.

+0

Die Variable stammt aus der Datenbank. Jeder Datensatz hat einen anderen Wert für diese Variable. Ich könnte es zu einem versteckten Feld machen und den Wert von dem bekommen, wenn das ist, worüber du sprichst, aber ich brauche immer noch einen Weg, um es in der JavaScript-Methode des benutzerdefinierten Validators zu bekommen, und das versteckte Feld wäre in einer Masterseite ein Repeater in einem anderen Repeater, also ohne seine ID dem Javascript Call hinzufügen zu können, sehe ich nicht, wie ich das einbinden könnte. – Ryan

+0

Sieht so aus, als ob es am einfachsten wäre, den Bullet einfach zu beißen und EnableClientScript = "false" auf Ihrem CustomValidator zu setzen und nur auf dem Server zu validieren. –

0

Ich habe einen Artikel für Client side custom validation in repeater. es könnte für andere nützlich sein.

+0

Bitte machen Sie dies ein Kommentar, keine Antwort! – cereallarceny

+0

Willkommen bei SO und vielen Dank für Ihre Antwort. Im Allgemeinen sollten die Antworten jedoch in sich geschlossen sein. Es ist in Ordnung, detailliertere Informationen zu verwenden, als Sie, aber könnten Sie Ihre Antwort bearbeiten, um die Frage direkter zu beantworten und einen Überblick über die Techniken zu geben, zu denen Sie verlinken? – kgrittn

0

Sie möchten vielleicht ein expando Attribut?