2

Cultures, MVC3 및 Data Annotations에서 작업하는 데 문제가 있습니다. (COLLATION is set for LATIN_GENERAL); 일부 필드는 SQL에서 DECIMAL(18,2) NOT NULL으로 정의됩니다. 내 MVC3 응용 프로그램에서 이미 web.config 파일에서 "es-ES"에 대한 culture를 설정했습니다. 또한, 모든 견해를 강력하게 사용하고 있습니다.데이터 주석 + MVC3 + Culture 문제

유효성 검사에 DataAnnotations를 사용하면 Required fieldThe field must be a number 유효성 검사가 자동으로 추가됩니다. 그것은 한 가지를 제외하고는 완벽 할 것입니다.

The field must be a number 유효성 검사를하면 쉼표 (,) 대신 십진수 구분 기호로 도트 (.)를 사용해야합니다. 그래서, 어떻게 변경해야하는지,이 에러 메시지를 번역하는 방법을 모르겠습니다. 그런 다음 jquery (ugly-solution)를 사용하여 쉼표 대신 점을 사용하도록 사용자를 강요 할 수 있다고 생각했습니다. 그래서 몇 가지 테스트를하기 위해 만들었습니다. 결과를 통해 유효성 검사를 통과하고 데이터베이스에 객체를 완벽하게 만들 수있었습니다.

하지만 이상한 점이 있습니다. 동일한 객체를 편집 할 때 점으로 구분되지 않고 쉼표로 쉼표로 구분 된 같은 형식으로 표시됩니다. 문제가 무엇입니까? 사용자가 객체 판을 제출할 수 없다는 것.

내가 뭘 잘못하고 있니?

  1. Added the proper collation to the database.
  2. Added the globalization attribute on the web.config file.
  3. I even tried this MVC 3 jQuery Validation/globalizing of number/decimal field with no success...

이 작업을 수행하는 올바른 방법은 무엇입니까?

감사

+0

가 클라이언트 측 또는 서버 측 발생하는 문제? 즉, 유효성 검사 오류 이전에 다시 게시가 발생합니까? –

+0

클라이언트 측. 포스트 백이 없습니다. 유효성 검사 오류는 javascripted입니다. jquery가 소수 구분 기호를 처리하는 방법과 관련 있다고 가정합니다. –

+0

오래된 질문 그러나 이것은 나를 위해 트릭을 했어 : http://stackoverflow.com/questions/5199835/mvc-3-jquery-validation-globalizing-of-number-decimal-field – VinnyG

답변

0

글쎄, 당신은 클라이언트 측 유효성 검사를 끄거나 이와 같은 몇 가지 해킹을 적용 할 수 있습니다 :

http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html

+0

나는 당신의 링크를 해킹했다. 단계로하지만 자바 스크립트 오류가 발생합니다 : "TypeError : 정의되지 않은 'es-ES'속성을 읽을 수 없습니다."... 당신을 위해 작동 했습니까? –

+0

@ met.lord - 상황이 조금 바뀌어 보였으므로 적응해야 할 것입니다. jquery 세계화를 여기에서 다운로드 했습니까? https://github.com/jquery/globalize –

+0

NuGet을 통해 NuGet을 설치했습니다 ... 거기에서 문화 파일을 다운로드했습니다 (github.com/jquery/globalize) –