2010-01-18 8 views
8

새로운 Asp.net mvc 2.0 입력 유효성 검사는 jquery.validate와 관련하여 소수점 구분 기호를 제외하고는 매력처럼 작동합니다. Microsoft MVC ajax 라이브러리를 사용할 때 제대로 작동합니다. 쉼표는 클라이언트 측뿐만 아니라 소수 구분자 서버 측입니다.jQuery 소수 구분 기호 및 Asp.net 유효성 검사 MVC

<script src="/Scripts/MicrosoftAjax.js" type="text/javascript" ></script> 
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript" ></script> 
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script> 

이것을 사용할 때 (jquery가 마스터보기에서로드 됨) 클라이언트 측에서 점을 사용해야합니다. 그러나 모델은 유효하지 않으며 뷰로 돌아가 흥미로운 루프를 만듭니다.

<script src="/Scripts/jquery.validate.js" type="text/javascript"></script> 
<script src="/Scripts/MicrosoftMvcJqueryValidation.js" type="text/javascript"></script> 

차라리 내 모든 자바 스크립트 요구에 jQuery를 사용하는 것, jquery.validate는 쉼표가 아닌 점을 사용하여 만들 수있는 방법은 무엇입니까? 저는 인터넷 검색을하고 있었지만 문서를 읽었습니다. 그러나이 문제에 관해서는별로 찾을 수 없었습니다.

+0

http://www.campusmvp.net/asp-net-mvc-3-and-the-coma-in-decimals/ 내가 좋은 방법이 너무 scottgu의 블로그에이 문제를 게시하는 것입니다 생각 여기에 더 나은 솔루션입니다. 그는 며칠 전에 유효성 확인에 대한 내용을 게시하고 게시물 첫날에 답변하는 것이 빠릅니다. –

답변

2

아 ... 세계화의 즐거움!

숫자를 처리 할 때 (그리고 나는 심지어 날짜를 시작하지도 않을 것입니다.) 올바른 소수 구분 기호를 결정해야 할 필요가 있습니다. 그러나 모든 클라이언트에 대한 소수 구분 기호를 결정하는 쉬운 방법이있다 :

function GetDecimalSeparator() 
{ 
    return (1/10).ToString().substring(1, 1); 
} 

당신은 항상 클라이언트에서 소수 구분 무엇을 알고, 유효성 검사가 적절하게 수행해야합니다 이쪽으로.

+4

감사합니다. 그러나이 seperator를 사용하기 위해 jquery.validate를 얻으려면 어떻게해야합니까? 그리고 점이 있고 MVC 서버 측에서 쉼표를 사용하면 어떻게 될까요? 이것은 매우 혼란스러워지고 있습니다;). – Morph

1

아마 additional-methods.js에 답을 찾을 수 있습니다. 날짜 현지화의 예는 다음과 같습니다. <input name="pippo" class="{dateITA:true}" />jQuery.validator.addMethod("dateITA",을 검색하십시오. 사용자 정의 유효성 검사 (사용자가 사용하는 로케일에 해당)를 추가하고 사용하려면 동일한 작업을 수행 할 수 있습니다.

0

당신은 쉼표를 추가 할 수 있습니다 정규식 포함 옆에있는 에 파일 jquery.validate.min.js 또는 jquery.validate.js에. 다음 예에서는 굵은 글꼴로 표시합니다. (\ -.. \]>)

number: function(value, element) { 
      return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:**[\\.,]**\d+)?$/.test(value); 
     }, 

주의 깊게 원래 exppresion는 1000 개 단위 구분 기호와 번호를 받아 들일 수 (,). 사용하고자하는 경우 천 단위 구분 기호없이 RE를 사용하는 것이 좋습니다. 쉼표 소수 구분 기호.