데이터 주석 유효성 검사를 사용하여 ASP .Net 핵심 웹 응용 프로그램을 작성합니다. 모델 속성을 설명하는 속성에서 ErrorMessageResourceType 및 ErrorMessageResourceName을 정의합니다.현지화 된 리소스 - .resx 파일에서 둘 이상의 리소스에 액세스 할 수 없습니다.
리소스 파일은 기본 앱 솔루션 외부의 다른 프로젝트에 배치됩니다. 내 모델에서
(비주얼 스튜디오 2017 커뮤니티 편집기의 지원 DOTNET CLI를 사용하여) 내가 가진 :
[Required(AllowEmptyStrings = false, ErrorMessageResourceType = typeof(Resources.NewPetDataValidation),
ErrorMessageResourceName = "EmptyField")]
[StringLength(30, ErrorMessageResourceType = typeof(Resources.NewPetDataValidation),
ErrorMessageResourceName = "NameMaxLength")]
public string Name {get; set;}
자료에서 프로젝트가 나는 각 언어 즉 NewPetDataValidation.en.resx, NewPetDataValidation 당 하나의 .resx 파일을 생성 .de.resx.
비주얼 스튜디오보다 리소스 편집기 리소스 이름을 사용하여 각 파일에 리소스 문자열을 추가했습니다.
영어의 경우 : 이름 : EmptyField 값 : 빈 필드!
독일어의 경우 : 이름 : EmptyField 값 : Leer Feld!
등 ... 면도기에서
내가 가진보기 : @ Html.ValidationMessageFor (모델 => Model.Name, 널 (null), 새로운 {@style = "색상 : 빨간색"})모든 것 모델에서 특정 .resx 파일의 둘 이상의 리소스 문자열에 액세스하지 않으면 제대로 작동합니다. ErrorMessageResourceName이 특정 리소스 이름과 일치한다는 점이 긍정적입니다.
반면에 번역 된 모든 구문에 대해 분리 된 .resx 파일을 만들면 응용 프로그램이 작동합니다. 그러나 나는 많은 .resx 파일을 만드는 것이 좋은 생각이라고 생각하지 않습니다.
미리 도움을 주셔서 감사합니다.