Лучший способ проверить вход валюты?

Я создал TextBox и CompareValidator, ниже которого я думал, позволит вход в следующих формах:

  • 5
  • 5.00
  • 5,00$

К сожалению, это не позволяет версию со знаком доллара в нем. Какой смысл того, чтобы делать проверку типа по сравнению с валютой, если Вы не позволяете знак доллара? Существует ли способ позволить этот символ?

            <asp:TextBox ID="tb_CostShare" runat="server" Text='<%# Eval("CostShare", "{0:$0.00}")%>' CausesValidation="true" />
            <asp:CompareValidator   ID="vld_CostShare" 
                                    runat="server" 
                                    ControlToValidate="tb_CostShare" 
                                    Operator="DataTypeCheck" 
                                    Type="Currency" 
                                    ValidationGroup="vld" 
                                    ErrorMessage="You must enter a dollar amount for 'Cost Share'." />    
6
задан Abe Miessler 22 April 2010 в 19:27
поделиться

2 ответа

CompareValidator не поддерживает символы валюты. Вы можете префикс своего элемента управления вводом с помощью $ или использовать валидатор регулярных выражений, на этой странице есть пример.

Следующий шаблон будет соответствовать вашим примерам (любезно предоставлено http://www.regexlib.com ):

^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$
8
ответ дан 10 December 2019 в 02:44
поделиться

Кроме того, вы можете написать собственный валидатор для анализа строки, с $ или без него. Но вам нужно будет написать некоторый Javascript, чтобы получить любую проверку на стороне клиента.

1
ответ дан 10 December 2019 в 02:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: