Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism ASP.NET Validator-Madness (https://www.delphipraxis.net/42198-asp-net-validator-madness.html)

DerSascha 15. Mär 2005 16:25


ASP.NET Validator-Madness
 
Hallo,

da das .NET-Forum nun dicht ist, poste ich das mal hier :-).

Mein Problem:
Die Validator-Komponenten funktionieren nicht so wie erwartet, sprich: eigentlich gar nicht.
Obwohl ich in die TextBox 'txVersionsnummer' keine Eingabe vornehme, schlägt der Warnhinweis
des RequiredFieldValidator nicht an. Statt dessen wird das Feld ungeprüft von Server übernommen.

Irgendwo hab ich gelesen, dass aspnet_regiis -c helfen soll, hat es aber nicht :-|.

Also konkret habe ich folgendes in meiner .aspx-Seite:

Innerhalb des Tag
Code:
<form method="post" runat="server"> ... </form>
habe ich

Code:
<asp:TextBox id="txVersionsnummer" runat="server" columns="40"
   maxlength="40"></asp:TextBox>
...
weitere Komponenten
...
Code:
<asp:RequiredFieldValidator id=rfvVersion runat="server"
   errormessage="Keine Versionsangabe!"
   controltovalidate="txVersionsnummer">
</asp:RequiredFieldValidator>
Die Property 'Controltovalidate' ist (wie oben zu sehen) 'txVersionsnummer'
Die Property 'EnableClientScript' ist 'True'.
Die Property 'EnableViewState' ist 'True'.
Die Property 'Enabled' ist 'True'.
Die Property 'Visible' ist 'True'.
Die Property 'InitValue' ist ''.

Das Event 'OnLoad' zeigt auf die Procedure
Code:
procedure rfvVersion_Load(sender: System.Object; e: System.EventArgs);
die dazu verwendet wird sprachspezifische Ausgaben zu setzen:


Code:
 TfmEintrag = class(System.Web.UI.Page)
 // ...
 strict protected
 // ...
   rfvVersion: System.Web.UI.WebControls.RequiredFieldValidator;
 // ...
dankbar für jeden Hinweis,
Sascha

Union 15. Mär 2005 17:19

Re: ASP.NET Validator-Madness
 
Wie wärs denn so:
<asp:TextBox ID="TextBox1" Runat="server" CausesValidation="True"></asp:TextBox>

Union 15. Mär 2005 19:58

Re: ASP.NET Validator-Madness
 
Zitat:

Zitat von Union
Wie wärs denn so:
<asp:TextBox ID="TextBox1" Runat="server" CausesValidation="True"></asp:TextBox>

Sorry, das reicht nicht aus. Du musst beim Submit immer alle Validations von Hand anstossen. Bug oder Feature ;(

Code:
void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < Page.Validators.Count; i++)
        {
            Page.Validators[i].Validate();
        }
    }
Aber wenigstens wird der Fokus auf das letzte fehlerhaft validierte Element gesetzt... auch wenn SetFocusOnError auf false steht.

DerSascha 17. Mär 2005 09:58

Re: ASP.NET Validator-Madness
 
Hallo Union,

vielen Dank für Deine Antwort. Das hat mir sehr geholfen!
Sorry, hatte vergessen anzugeben, dass die Property
CausesValidation schon auf True stand. Aber das war
auch nicht der Fehler, sondern wie du es schon erwähnst,
das anschließende manuelle Anstoßen der Prüfung.

Gruß,
Sascha


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz