Как проверить целочисленный и плавающий ввод в текстовом поле ASP.NET - PullRequest
3 голосов
/ 04 марта 2010

Я использую приведенный ниже код для проверки целых чисел и чисел с плавающей точкой в ​​ASP.NET, но если я не введу десятичную дробь, это выдаст мне ошибку.

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

У меня также есть регулярное выражение от Что такое регулярное выражение C #, которое будет проверять валюту, число с плавающей запятой или целое число? , но оно выдает ошибку проверки, если я введу только одно значение после десятичного знака ..

Ответы [ 4 ]

3 голосов
/ 04 марта 2010

Использование ControlValidators .

Например (из ссылки)

<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>
>

Атрибут Type может быть одним из следующих значений: «String», «Integer», «Double», «Date» или «Currency»

2 голосов
/ 04 марта 2010

Вы можете попробовать следующее.

<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>
1 голос
/ 08 июля 2014
<asp:RegularExpressionValidator
    ID="RegularExpressionValidator6"
    runat="server"
    ControlToValidate="TBHd"
    ValidationExpression="([0-9])[0-9]*[.]?[0-9]*"
    ErrorMessage="Invalid Entry">
</asp:RegularExpressionValidator>
0 голосов
/ 04 марта 2010

Как насчет простого простого анализа? Э.Г.

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

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

Где 0 - ваше значение по умолчанию «не удалось проверить».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...