2010-04-22 5 views
6

나는 나는 다음과 같은 형태의 입력을 허용 것이라고 생각하는 아래의 텍스트 상자 및 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'." />  
+0

'{0 : c}'를 대신 사용하면 어떨까요? – Greg

+3

통화 유효성 검사에는 USD ... –

+0

이외의 통화가 포함될 수 있습니다. @Austin - USD 이외의 다른 항목을 확인하고 싶지 않습니다. @ 그렉 - 유효성을 검사하기 위해 {0 : c}를 어떻게 사용합니까? –

답변

8

CompareValidator는 통화 기호를 지원하지 않습니다. $로 입력 컨트롤의 접두사를 붙이거나 정규 표현식 검사기를 사용하면 this 페이지에 예제가 있습니다. 또한

^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$ 
1

, 당신은 또는 $없이 문자열을 구문 분석하는 사용자 정의 유효성 검사기를 작성할 수

다음 패턴은 예 (http://www.regexlib.com의 의례)와 일치합니다. 그러나 클라이언트 쪽 유효성 검사를 수행하려면 자바 스크립트를 작성해야합니다.

관련 문제