2014-11-11 3 views
1

데이터가 웹 API 엔드 포인트에 게시되는 양식이 있습니다. 양식에는 두 개의 입력 필드가 있습니다. 하나는 텍스트 용이고 다른 하나는 숫자 용입니다. 웹 API 측면에서 쉼표로 분리자를 두 번 바인드하지 못했습니다.

내 개체는 같은 설정 :

The value '25,3' is not valid for Price.

: 나는 Price의 값 "25,3"를 보낼 때

public class Course 
{ 
    public string Title { get; set } 
    public double? Price { get; set; } 
} 

, 나는 다음과 같은 오류가

"25.3"값을 보내는 것이 좋습니다.

jQuery 양식 직렬화를 사용하여 양식을 게시하고 있습니다.

+0

클라이언트 측 또는 서버 측에서 오류가 있습니까? –

+0

모델이 유효한지 확인하기 위해 OnActionExecuting을 무시했습니다. 그것은 여기에 오류가 나타납니다 : 값 '25, 3'가격에 유효하지 않습니다. 서버 측에서 짧은 대답을하기 위해 :) –

+0

들어오는 값을 어떻게 파싱하고 있습니까? –

답변

0

this answer에 따라 web.config에 서버의 culture를 지정할 수 있습니다. 분수를 나타내는 데 쉼표를 사용하는 문화권을 설정해야합니다 (예 : fr-CA). 당신이 구분자로 ., 모두를 수용 할 수있게하려면

, 당신은 사용자 스스로 stringPrice을 설정 한 다음 값을 구문 분석해야합니다.

+0

그래서 json 포맷터의 문화를 변경해 보았습니다. 그러나 내가 $ ("someform")을 데이터로 serialize하는 경우 json serializer를 사용하지 않고 FormUrlEncodedFormatter의 serializer를 사용한다고 생각합니다. 그래도 여전히 실패합니다. –

+0

culture 변경은 서버 측 (web.config)에 있습니다. 값이 "23,5"로 서버에 도달하는 한 웹 API의 구문 분석기가 변경 사항을 선택해야합니다. –

+0

현재 json formatter serializer에 문화권을 설정했습니다. 구성에서 설정을 시도했지만 추가 테스트가 필요합니다. 그것은 문화 설정에 똑같이하는 것처럼 보이지 않는다. –