2
전자 메일 주소의 유효성을 검사하기 위해 데이터 주석을 사용하고 있습니다.C# RegularExpression 한 번 호출 된 속성 생성자
emailaddress가 유효하지 않을 때 오류 메시지를 표시하려면 ErrorMessages라는 RESX 파일을 사용합니다.
내 코드는 다음과 같다 :
public class EmailAdressAttribute : RegularExpressionAttribute
{
public EmailAdressAttribute()
: base(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,3}|[0-9]{1,4})(\]?)$")
{
ErrorMessage = ErrorMessages.ValidateEmailAdress;
}
응용 프로그램을 실행하는 동안 내 asp.net MVC 응용 프로그램의 언어 (현재 문화)로 변경
는, 기존의 언어가 여전히 표시됩니다.디버깅 후이 특성의 생성자는 한 번만 호출된다는 것을 알았습니다 (처음 사용할 때).
속성은 어떻게 캐시됩니까? 리소스 파일에서 올바른 오류 메시지를 표시하려면 어떻게해야합니까?
감사합니다. 솔루션이 작동했습니다 (override 키워드를 사용하지 않고). – Jan
좋습니다! 나는 ErrorMessage가 baseclass의 속성이라고 생각했다. 분명히 EmailAddressAttribute 클래스에 속합니다. –