2013-03-30 4 views
0

나는 다음과 같은 모델 특성

[DisplayName("Salary per year")] 
    public decimal Salary { get; set; } 

했다 그리고 rasor 마크 업

@Html.EditorFor(model => model.Salary) 
@Html.ValidationMessageFor(model => model.Salary) 

생성 된 HTML 코드

입니다 :

<input class="text-box single-line input-validation-error" data-val="true" data-val-number="The field Salary per year must be a number." data-val-required="The Salary per year field is required." id="Salary" name="Salary" type="text" value=""> 
<span class="field-validation-error" data-valmsg-for="Salary" data-valmsg-replace="true"><span for="Salary" class="" style="">The field Salary per year must be a number.</span></span> 

클라이언트 검증은 사용자가 숫자를 입력 할 수 있습니다. 그러나, 사용자는 (나는 그들이 입력 ","너무 디지털 (Digitals)을 분리 할 수 ​​있도록하려면 나중에 궁금) 숫자 앞에 $를 입력 할 수 있어야합니다. 그것을 가능하게하는 방법? (컨트롤러에 decimal에 문자열을 구문 분석?)

를 지금 그것을 보여줍니다 "연간 필드 급여는 숫자 여야합니다." "$"를 입력하자마자 빨간색으로 표시됩니다.

+0

답변 코드 샘플을 확인하십시오 –

답변

0

당신은 다음을 수행 할 수 있습니다

1) 키를 누를 때 함수를 작성하고 키를 눌러 키 코드는 숫자 또는 쉼표 확인 :

이 라이브러리를 사용하는 수도)

: http://jquerypriceformat.com/ 이것에 대한

$('#example1').priceFormat(); 

B)를 생성 사용자 지정 코드 :

$('#example1').on("keypress", function (e){ 
if(event.keyCode == ',' || event.keyCode == '$' || (event.keyCode => '0' && event.keyCode <= '9'))   { 
    // allow char 
} else { 
e.preventDefault(); 
} 

}); 

C)이 예는 가장 잘 작동합니다 당신이 형성 제출할 때

http://help.dottoro.com/ljlwfxum.php

<head> 
    <script type="text/javascript"> 
     function FilterInput (event) { 
      var chCode = ('charCode' in event) ? event.charCode : event.keyCode; 

       // returns false if a numeric character has been entered 
      return (chCode < 48 /* '0' */ || chCode > 57 /* '9' */); 
     } 
    </script> 
</head> 
<body> 
    The following text field does not accept numeric input: 
    <input type="text" onkeypress="return FilterInput (event)" /> 
</body> 

2)은 입력에서 값을 구문 분석하고 $ 문자를 제거해야합니다.

var val = $('#example1').val(); 
val = val.slice(2); 
+0

바로 지금 "1 년 동안의 연봉이 숫자 여야합니다."가 표시됩니다. "$"라고 입력하자마자. 당신은 – ca9163d9

+0

@NickW하는 코드를 사용합니까? 나는 $는 사용자가 입력 할 수 없습니다한다고 생각 –

+0

, 단지 내가 거기에 $를 입력 할 필요는 없지만, 그들이 당신을 위해 숫자 –

관련 문제