Solved

radiobuttonlist validation

Posted on 2008-10-08
8
1,316 Views
Last Modified: 2012-05-05
I'm writing a custom validation for a radiobutton list (server-side), but it doesn't seem to be working.

Here is the radiobuttonlist code:

<asp:CustomValidator
            ID="valxGuest"
            runat="server"
            ControlToValidate="rblGuest"
            EnableClientScript="false"
            SetFocusOnError="true"
            ErrorMessage="<span class='alert'>Guest Attending?</span>"
            Display="dynamic"
            Enabled="False" OnServerValidate="valxGuest_ServerValidate" ForeColor=""></asp:CustomValidator>  
        <span><label for="currcust" id="lblGuest" runat="server">Guest Attending?</label></span>
                <asp:RadioButtonList
                    ID="rblGuest"
                    runat="server"
                    CssClass="radiolist"
                    RepeatColumns="2"
                    RepeatLayout="flow"
                    RepeatDirection="horizontal">
                   <asp:ListItem Selected="false" Text="Yes" Value="yes" />
                   <asp:ListItem Selected="false" Text="No" Value="no" />
                </asp:RadioButtonList>

and here is the custom method I wrote to validate the radiobuttonlist:

protected void valxGuest_ServerValidate(object source, ServerValidateEventArgs args)
    {
        if (rblGuest.SelectedValue.ToString().ToLower() == "yes" || rblGuest.SelectedValue.ToString().ToLower() == "no")
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = false;
        }
    }


Anyone see where I went wrong?

Thanks for any help.
0
Comment
Question by:-Dman100-
  • 4
  • 3
8 Comments
 
LVL 18

Accepted Solution

by:
carlnorrbom earned 500 total points
ID: 22671985
Hi,

Enabled = "False" maybe? Should be Enabled = "True" in order for the validator to fire?

/Carl.
0
 

Author Comment

by:-Dman100-
ID: 22672012
Hi Carl,

Thanks for replying to my post.  I just spotted the error:

I had:

I'm writing a custom validation for a radiobutton list (server-side), but it doesn't seem to be working.

Here is the radiobuttonlist code:

<asp:CustomValidator
            ID="valxGuest"
            runat="server"
            ControlToValidate="rblGuest"
            EnableClientScript="false"
            SetFocusOnError="true"
            ErrorMessage="<span class='alert'>Guest Attending?</span>"
            Display="dynamic"
            Enabled="False" OnServerValidate="valxGuest_ServerValidate" ForeColor=""></asp:CustomValidator>  


I needed to remove the control to validate since it is a custom validator.

So, it should have been this:

I'm writing a custom validation for a radiobutton list (server-side), but it doesn't seem to be working.

Here is the radiobuttonlist code:

<asp:CustomValidator
            ID="valxGuest"
            runat="server"
            EnableClientScript="false"
            SetFocusOnError="true"
            ErrorMessage="<span class='alert'>Guest Attending?</span>"
            Display="dynamic"
            Enabled="False" OnServerValidate="valxGuest_ServerValidate" ForeColor=""></asp:CustomValidator>  


It's working now.
0
 
LVL 22

Expert Comment

by:prairiedog
ID: 22672067
Are you trying to force user to make at least one selection from the RadioButtonList?
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:-Dman100-
ID: 22672777
Hi prairiedog,

yes, that is correct.  At least one selection.  It appears to be working okay now once I removed the ControlToValidate attribute.
0
 
LVL 22

Expert Comment

by:prairiedog
ID: 22672842
You are reinventing the wheel. The built-in RequiredFieldValidator will do that for you.
0
 

Author Comment

by:-Dman100-
ID: 22673206
Hmmm, I tried it with the required field validator and it did not work?  I've used the required field validator many times, so I'm not sure what I would have done incorrect?
0
 
LVL 22

Expert Comment

by:prairiedog
ID: 22673254
Here is what I used in my code:

<asp:RadioButtonList ID="RadioButtonList1" runat="server">
            <asp:ListItem>Yes</asp:ListItem>
            <asp:ListItem>No</asp:ListItem>
        </asp:RadioButtonList>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="RadioButtonList1"
            ErrorMessage="Guest Attending?"></asp:RequiredFieldValidator>

Open in new window

0
 
LVL 22

Expert Comment

by:prairiedog
ID: 22673333
Modified my RadionButtonList to exactly match yours. Still working.
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
	<asp:ListItem Selected="false" Text="Yes" Value="yes"></asp:ListItem>
	<asp:ListItem Selected="false" Text="No" Value="no"></asp:ListItem>
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="RadioButtonList1"
	ErrorMessage="Guest Attending?"></asp:RequiredFieldValidator>

Open in new window

0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
I have developed many web applications with asp & asp.net and to add and use a dropdownlist was always a very simple task, but with the new asp.net, setting the value is a bit tricky and its not similar to the old traditional method. So in this a…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

837 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question