Shreyas Achar
Shreyas Achar

Reputation: 1435

Validation issues in textbox in asp.net

I am designing a web-application using asp.net with c# and I just added a validation code for a textbox,it seems like it is good enough to execute,but no validation issues is been shown when the application is executed when input is null or invalid.

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
    ShowMessageBox="True" DisplayMode="BulletList" 
    HeaderText="Validation issues" ShowSummary="False"    ValidationGroup="Validation"/>

    <asp:TextBox ID="txtrandom" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"  
                                ErrorMessage="Enter the Randomly generated numbers" 
                                ControlToValidate="txtrandom" Display="None" 
                                ValidationGroup="Validation" SetFocusOnError="true"  >
    </asp:RequiredFieldValidator>

    <asp:RegularExpressionValidator ID="RegularExpressionValidator2"  
                                    runat="server" ErrorMessage="Input should be in number" 
                                    ValidationExpression="^[0-9]+$" 
                                    ControlToValidate="txtrandom" 
                                    Display="None" 
                                    ValidationGroup="Validation" 
                                    SetFocusOnError="true" >
    </asp:RegularExpressionValidator>

In the backend(c#) I have these line of code

int random = 0;
bool isValidInt = int.TryParse(txtrandom.Text, out random);
for (int i = 0; i < random; i++)
{
    //other codes
}

Does these lines of code effect the validation or just a syntactical error? Any help is appreciated.As far as i know he text box is taking 0 as a default value.

Upvotes: 1

Views: 734

Answers (3)

prakashrajansakthivel
prakashrajansakthivel

Reputation: 2032

The problem is with the validation group . If you are not using the validation group everything will work but if you specified a validation group then the group has to be enabled in the button click event or something similar.

see my code . it is working fine.

    <div>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
    ShowMessageBox="True" DisplayMode="BulletList" 
HeaderText="Validation issues" ShowSummary="false" ValidationGroup="one" />

<asp:TextBox ID="txtrandom" runat="server" ></asp:TextBox>
 <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"  
                            ErrorMessage="Enter the Randomly generated numbers" Display="None"
                            ControlToValidate="txtrandom" ValidationGroup="one" >
</asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator2"  
                                runat="server" ErrorMessage="Input should be in number" 
                                ValidationExpression="^[0-9]+$" 
                                ControlToValidate="txtrandom" 
                                Display="None" 
                                ValidationGroup="one" 
                                SetFocusOnError="true" >
</asp:RegularExpressionValidator>
<asp:Button ID="test" runat="server" Text="Submit" ValidationGroup="one" />
</div>

and yes validation group can be invoked on the post back.So error message wont display onfocouschange just like the normal validation.

Upvotes: 1

senthilkumar2185
senthilkumar2185

Reputation: 2566

You can Try this Code, I am also using this code of numeric checking

 bool isnum;
 double numericval;
 isnum = double.TryParse(numval, out numericval);
 if (isnum)
 { return true; }
 else { return false; }

Upvotes: 0

Monika
Monika

Reputation: 2210

Assign Validation group to textbox like this:

<asp:TextBox ID="txtrandom" runat="server" ValidationGroup="Validation"></asp:TextBox>

Upvotes: 0

Related Questions