webForumDet fria alternativet

Bekymmer med en CustomValidator

.NET

3 svar · 263 visningar · startad av Engine^

Medlem sedan dec. 20003 887 inlägg
Frågan#1

Jag har ändrat vissa saker i ett befintligt asp.net projekt och har fått problemet att en CustomValidator slutat fungera och jag vet inte vart jag ska leta efter fel längre.

Jag skulle behöva några tips :)

<asp:customvalidator id="PageValidator" ErrorMessage="Visas inte... :(" runat="server" />

<asp:button id="SendQForm" onclick="SendQData" CausesValidation="True" runat="server" Text="Nästa" />

I och med att customvalidatorn ligger på sidan så postas ingen data längre.

Det som ska kontrolleras är om någon av flera radiobuttons är markerade.
Det sker i funktionen SendQData, som (inte för tillfället) sätter PageValidator.IsValid = false om ingen radiobutton var markerad. Tyvärr anropas inte SendQData.
Inget händer när jag klickar på min SendQForm-knapp oavsett om det är ett val markerat eller ej.

Detta har fungerat tidigare, men jag har alltså tydligen ändrat något som orsakar ett fel, så därför undrar jag vad jag behöver gå igenom?

SendQData ligger i CodeBehind.
PageValidator är protected i CodeBehind.

Medlem sedan sep. 20011 914 inlägg
#2

RequiredFieldValidatorn kan väl sköta det.

<asp:radiobuttonlist id="radlABC" runat="server">
        <asp:listitem text="AAA" />
        <asp:listitem text="BBB" />
        <asp:listitem text="CCC" />
</asp:radiobuttonlist>
<asp:requiredfieldvalidator id="val" runat="server" errormessage="Bad, bad person" controltovalidate="radlABC" />
Medlem sedan dec. 20003 887 inlägg
#3

Sanning ju :r

Ibland är det svårt att tänka ut ur en bana då någon annan har skrivit koden man försöker felsöka.

Tack för tipset! :)

Medlem sedan dec. 20003 887 inlägg
#4

*bump*

Jahaja... då var det dags igen. Nu borde jag byta namn på tråden till Bekymmer med en RequiredFieldValidator.

Fortfarande samma <asp:button>. Validatorn lägger jag till genom

				RequiredFieldValidator objValidator = new RequiredFieldValidator();

				PHQuestionnaire.Controls.Add( oRBList );

				objValidator.ControlToValidate = oRBList.ID;
				objValidator.CssClass = "warning";
				objValidator.ErrorMessage = "<br>Du måste välja ett alternativ</br>";
				objValidator.ID = "QRB_validator";

				PHQuestionnaire.Controls.Add( objValidator );

Allting är frid och fröjd tills det att jag väljer ett alternativ. Då körs inte SendQData av någon anledning. Är inget alternativ valt, så visas felmeddelandet.

Det här tyder, för mig, på att jag missat att sätta någon egenskap eller annat elementärt.

Det jag vill är ju att

if( Page.IsValid )
  SendQData();

Jag känner mig dock helt lost :(

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)