tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
626
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Hallo zusammen!

    Ich hab mich ein bisschen mit den Validation-Klassen in ASP.NET rumgespielt. Ich verwende unter anderem folgenden Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
                if (this.IsPostBack)
                {
                    foreach (System.Web.UI.IValidator aValidator in this.Page.Validators)
                    {
                        aValidator.Validate();
                        TblFreeSpace.Visible = !aValidator.IsValid;
                    }
                }
                else
                {
                    TblFreeSpace.Visible = false;
                }

    Wenn ich nun in das verknüpfte Textfeld des RequiredFieldValidators keinen Wert eintrage, dann wird eine Meldung ausgegeben, weil "IsValid = false" ist. Wenn ich anschließend einen Wert eintrage und somit das Feld befülle, dass bleibt "IsValid" immer noch "false".

    Zur Erklärung:
    TblFreeSpace ist eine ASP-Tabelle, die nur angezeigt werden soll, wenn auf der Seite ein Eingabefehler entstanden ist. Der oben genannte Code läuft in einem Benutzersteuerelement ab, welche ValidationSummary ersetzen soll.

    Irgendwas check ich bei der ganzen Sache nicht und ich wäre für jede Hilfe dankbar.
    Geändert von Saber (25.01.04 um 15:14 Uhr)
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  2. #2
    Avatar von René Paschold
    René Paschold René Paschold ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    Straubenhardt
    Beiträge
    451
    Hallo,

    Du musst natürlich dem Programm auch sagen das er jetzt validieren soll. Wenn es ein Button nicht auslöst das musst du im Code manuell die Validate() Methode anschucken.

    Wenn du einen Button hast, dann kannst du dem die Eigenschaft CausesValidation auf true setzten und somit löst dieser automatisch eine Validierung aus!
     
    René Paschold
    .NET Trainer / Consultant / Developer
    WebLog http://www.rene-paschold.de/

    "The World Is Not Enough!"

  3. #3
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Mach ich doch:
    Code :
    1
    
    aValidator.Validate();

    Aber ich habs auch schon mit Page.Validate() versucht. Das bewirkt auch nix. Es bleibt immer false. Habs schon mit Work-Arounds versucht, funktioniert aber eher schmächtig als mächtig.
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  4. #4
    Avatar von René Paschold
    René Paschold René Paschold ist offline Mitglied Brokat
    Registriert seit
    Jan 2002
    Ort
    Straubenhardt
    Beiträge
    451
    Hmm komisch. Kannst du mal das Zeugs zippen und her schicken? rpa2k@gmx.net

    Ich schau mal drüber!
     
    René Paschold
    .NET Trainer / Consultant / Developer
    WebLog http://www.rene-paschold.de/

    "The World Is Not Enough!"

  5. #5
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Ist weg an die oben gennante Adresse ... schon mal DANKE im Vorfeld!
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  6. #6
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Danke @ René
    Hat alles bestens geklappt so wie Du es in Deiner E-Mail beschrieben hattest.
    Daumen hoch!
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  7. #7
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Wäre nett wenn du das Problem beschreiben könntest beziehungsweise die Lösung davon. (bzw. beides).

    Würde mich nämlich selbst interessieren, und sollte ein anderer ein solches Problem haben wird er auch dankbar sein.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  8. #8
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Ich muss meine Antwort leider zurückziehen, das Problem stellte sich leider nur anfangs als überwältigt dar. Sobald ich eine endgültige Lösung habe werde ich hier eine detailierte Schilderung abliefern (ich hoffe ich vergess es nicht!).

    Im kurzen ist folgendes zu sagen. Ich möchte mir ein eigenes "schöneres" ValidationSummary bauen. Das klappte anfangs auch recht gut. Aber diese Validation-Zeugs spinnt irgendwie voll rum mit den PostBack-Ereignissen, dann funktionierte die Page.Validate()-Methode nicht bzw. die Page.IsValid-Eigenschaft lieferte immer false zurück.
    Die Mühe von René war leider auch umsonst, hat nun doch nix gebracht. *sorry* Aber trotzdem danke!
    Aber ich hab schon einen Ansatz für ein Work-Around mit dem ViewState, muss mir wohl mein eigenes "PostBack" bauen.
    Das selbstgebaute Steuerelement liegt nämlich auf einer Seite, die mit einem if-else-Block zweigeteilt ist. Und genau da haben die Microsoft-Validation-Controls versagt, und meines mag auch noch nicht so ganz ... Betonung auf "noch".

    Wie gesagt, sobald ich es schaffe poste ich es hier nochmals genauestens ... nur die nächsten Tage habe vermutlich keine Zeit dazu.
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

  9. #9
    Registriert seit
    Aug 2002
    Ort
    Passau / Bayern
    Beiträge
    344
    Also irgendwie wills immer noch nicht, aber zumindest glaub ich zu wissen wo der Haken ist.

    Vorweg:

    1.) Ich habe eine Hauptseite: default.aspx. Darin befindet sich hauptsächlich das HTML Layout. Zusätzlich ist ein Placeholder-Control darauf. Es wird später durch die einzelnen User-Controls mit dem Inhalt gefüllt.

    2.) Der Inhalt der Seiten ist in User-Controls abgelegt. Wenn ich also im Menü auf "Home" klicke, dann lädt er das User-Control mit dem Home-Inhalt etc.

    3.) Ich habe mir ein weiteres User-Control gebaut. Es soll mir lediglich das originale ValidationSummary-Control ersetzen, weiter nichts (dachte ich zumindest )

    4.) Wenn ich die Seite nun aufrufe, dann gibt er mit in meinem selbstgebautem ValidationSummary IMMER Fehlermeldungen aus. Er soll überprüfen, ob ein Textfeld gefüllt ist. Page.IsValid bleibt immer "false". Ich rufe auch die Page.Validate() vorher auf!


    Meine Vermutung:

    Mein Aufbau sieht also folgendermaßen aus:
    Hauptseite <-- UserControl (Inhalt) <-- UserControl (Eigene ValidationSummary) <--- Code Behind (Fehlerbehandlung)
    Ich vermute nun mal ganz einfach, dass ich in meinem eigenen ValidationSummary-Control keine Validierung der Steuerelemente (z.B. Textboxes) auf dem anderen User-Control (Inhalt) anstoßen kann. Puh, ziemlich kompliziert ... hmm?

    Liege ich mit meiner Vermutung richtig und wenn ja/nein, wie könnte ich weiter vorgehen! DANKE im Vorraus!
     
    Das Leben ist sch**ße ... aber die Grafik ist geil!

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  2. Antworten: 3
    Letzter Beitrag: 27.04.10, 18:46
  3. Antworten: 7
    Letzter Beitrag: 09.04.10, 20:57
  4. Antworten: 2
    Letzter Beitrag: 25.06.08, 14:17
  5. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49