Regex Validator не работает - PullRequest
       2

Regex Validator не работает

0 голосов
/ 03 сентября 2010

У меня есть тег div, который содержит текстовое поле и кнопку отправки.Я пытаюсь, чтобы кнопка отправки работала, только если введенный текст является числом (целым или десятичным).Однако при запуске отладчика функция onclick вызывается независимо от того, какой текст вводится.Любая идея, как я все испортил?

<div class="content">
<table class="inputForm">
  <tr>
   <th>Percentage:</th>
  <td>
   <asp:TextBox ID="VATAmount" runat="server"></asp:TextBox>
  </td>
  <td>
   <asp:LinkButton ID="VATSubmit" runat="server" SkinID="Button" OnClick="VAT_Click" Text="Submit"></asp:LinkButton>
  </td>
 </tr>
</table>
<i>50% should be entered as 50</i>                                    
  <cb:RequiredRegularExpressionValidator ID="VATVerify" runat="server" ControlToValidate="VATAmount" 
Display="Static" ErrorMessage="The Percent should be written as a decimal." Text="*" ValidationGroup="Add"
ValidationExpression="[*0-9]*\.[*0-9]" Required="true">
  </cb:RequiredRegularExpressionValidator>

Также я должен отметить, что * появляется, когда вводится неправильное значение, но не когда вводится правильное значение

Ответы [ 3 ]

0 голосов
/ 03 сентября 2010

Попробуйте что-то вроде этого:

^[0-9]+(?:\.[0-9]+)?$
0 голосов
/ 03 сентября 2010

Регулярное выражение оригинального плаката определенно неверно, но я не уверен, что это истинная причина.Тот, что предоставлен @Mark Wilkins, отлично работает.

Полагаю, ваша проверка вообще не выполняется.Вы можете попробовать установить CausesValidation="True" для вашего LinkButton и посмотреть, поможет ли это.

0 голосов
/ 03 сентября 2010

Кажется, что регулярное выражение может быть неправильным. Следующее может работать (я говорю, может, потому что шаблоны регулярных выражений всегда хитры в своих способах неудачи):

^[0-9]*\.?[0-9]+$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...