2017-05-16 1 views
2

나는 나의 .cshtml 파일에 다음 코드를 사용ASP.NET Core : Html.ValidationMessage를 지역화하는 방법?

@Html.ValidationMessage("loginError") 

그리고이 내 Controller에서 :

ModelState.AddModelError("loginError", message); 

지금 내가 (안 컨트롤러) 내보기 내에서 메시지를 지역화하려는.

@Localizer["Login"] 

가 어떻게이 ValidationMessage 지역화 않습니다 표준 텍스트에 대한

나는 이것을 사용할 수 있습니까? 그것으로부터 원시 메시지를 받아 내 Localizer에 주거나 더 좋은 방법이 있습니까? 좋아

+0

본인이이 메시지를 현지화하고 싶습니까? 'message'는 그냥 문자열이므로 지역화 된 문자열을 넣어야합니다. –

+0

@teovankot 답변 해 주셔서 감사합니다! 나는'message '가 단지 문자열이라는 것을 알고 있지만 그 문자열은 내'Controller' 안에 있습니다. 그러나 이미'.resx'에 모든 번역문을 추가했기 때문에 거기서 지역화를하고 싶지 않습니다. '.cshtml' 뷰의 파일들 – moritzg

+0

컨트롤러에서 이것을 다음과 같이하고 싶지는 않습니다 : 'ModelState.AddModelError ("LoginError", Localizer.LoginError);'? –

답변

0

여기 내 제안이다하지만 꽤 해킹 :

@Localizer[@ViewData.ModelState["loginError"]?.Errors[0].ErrorMessage ?? ""] 

내보기 작품 안에이 사용. 하지만 더 나은 솔루션을 열어 ...

관련 문제