• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1330
  • Last Modified:

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.
0
-Dman100-
Asked:
-Dman100-
  • 4
  • 3
1 Solution
 
carlnorrbomCommented:
Hi,

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

/Carl.
0
 
-Dman100-Author Commented:
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
 
prairiedogCommented:
Are you trying to force user to make at least one selection from the RadioButtonList?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
-Dman100-Author Commented:
Hi prairiedog,

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

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now