(리소스 파일없이) 이것은 우리가 우리는 우리를 위해 모델 검증을 돌보는 DataAnnotations을 사용하려는 MVC 2.NET MVC : 지역화 RequiredAttribute
.NET에서 직면하고있는 문제는, 그것이 예정되어있는 것처럼. 우리가 가지고있는 유일한 문제는 표준 오류 메시지를 원하지 않는다는 것입니다 (우리 웹 사이트에 여러 언어가 있기 때문에).
사이트를 설치하는 방법은 모든 텍스트를 데이터베이스에서 가져 오는 것입니다. 따라서 데이터베이스에 오류 메시지가 표시되기를 바랍니다. 우리는 올바른 지역화 된 버전에 필요한 데이터베이스 검색을 수행하는 "번역()"방법을 추가 할 String 클래스에 확장을 썼다
public class LocalizedRequiredAttribute : RequiredAttribute
{
public string LocalizedErrorMessage
{
get
{
return ErrorMessage;
}
set
{
ErrorMessage = value.Translate();
}
}
}
:
그래서 우리는이 같은 사용자 정의 RequiredAttribute를 썼다 .
우리는 다음과 같이 우리의 속성을 사용
[LocalizedRequired(LocalizedErrorMessage = "Naam is required")]
public string Name {get; set; }
이 있지만 한 번만 사용할 수 있습니다.
프랑스어로 사이트를 처음 방문하면 값을 입력해야한다는 프랑스어 오류 메시지가 나타납니다. 나중에 영어 사이트를 방문하면 영어 페이지에서 프랑스어 오류가 계속 표시됩니다. 세터는 한 번만 불리는 것 같습니다.
이 동작을 방지하고 유효성 검사가 실행될 때마다/모델에 값이 채워지는 경우 오류 메시지를 새로 고치려면 어떻게해야합니까?
도움을 주셔서 감사합니다.
은 (디버깅 테스트 hackish입니다 응용 프로그램). 그것은 직접 "ErrorMessage"RequiredAttribute 클래스에서 호출 같아요. –
Aah. 나는 ErrorMessage가 가상 일 것으로 예상했다. 그렇지 않다는 것이 밝혀졌습니다. 리소스 파일없이 리소스 클래스 만 사용할 수 있습니다. 내가 outa 공간을 실행하는 중 직접 답변을 편집 중입니다. – Naraen