Link to home
Start Free TrialLog in
Avatar of -Dman100-
-Dman100-Flag for United States of America

asked on

radiobuttonlist validation

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.
ASKER CERTIFIED SOLUTION
Avatar of carlnorrbom
carlnorrbom
Flag of Sweden image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of -Dman100-

ASKER

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.
Are you trying to force user to make at least one selection from the RadioButtonList?
Hi prairiedog,

yes, that is correct.  At least one selection.  It appears to be working okay now once I removed the ControlToValidate attribute.
You are reinventing the wheel. The built-in RequiredFieldValidator will do that for you.
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?
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

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