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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.