4

I am using the code below to validate integers and floats in ASP.NET, but if I do not enter decimal then it gives me an error.

 <asp:TextBox ID="txtAjaxFloat" runat="server" /> <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" TargetControlID="txtAjaxFloat" FilterType="Custom, numbers" ValidChars="." runat="server" /> 

I also have the regular expression from What's a C# regular expression that'll validate currency, float or integer?, but it's giving a validation error if I enter only one value after the decimal..

5 Answers 5

5

Use ControlValidators.

For example (from the link)

<asp:textbox id="textbox1" runat="server"/> <asp:RangeValidator id="valRange" runat="server" ControlToValidate="textbox1" MaximumValue="12/31/1998" MinimumValue="1/1/1998" Type="Date" ErrorMessage="* The date must be between 1/1/1998 and 12/13/1998" Display="static">*</asp:RangeValidator> > 

The Type attribute can be one of "String", "Integer", "Double", "Date" or "Currency"

Sign up to request clarification or add additional context in comments.

1 Comment

link is not relevant.
2

You can try the following.

<asp:TextBox ID="TextBox2" runat="server" Style="z-index: 103; left: 289px; position: absolute; top: 132px"></asp:TextBox> <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="TextBox2" ValidChars="0123456789."> </cc1:FilteredTextBoxExtender> 

Comments

1
<asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" ControlToValidate="TBHd" ValidationExpression="([0-9])[0-9]*[.]?[0-9]*" ErrorMessage="Invalid Entry"> </asp:RegularExpressionValidator> 

Comments

0

How about plain simple parsing? E.g.

int i; if (!int.TryParse(txtAjaxFloat.Text, out i)) i = 0; float f; if (!float.TryParse(txtAjaxFloat.Text, out f)) f = 0; 

Where 0 is your default "could not validate" value.

Comments

0

we can use CompareValidator with Datatypecheck Operator to checkbox the datatype of the text in the textbox.

<asp:CompareValidator ID="CValid" runat="server" ControlToValidate="txtName" Display="Dynamic" ErrorMessage="Float value required." Operator="DataTypeCheck" SetFocusOnError="True" Type="Double"></asp:CompareValidator> 

1 Comment

Providing just a piece of code without any comment is not the best practice of answer. Please add a couple of words to your code.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.