0

MVC3 형식으로 복수 select 목록 상자가 있습니다. 사용자는 & 사용자 정의 option 요소를이 목록 상자와 함께 추가 할 수 있습니다. 그러나 목록 상자에서 2 옵션을 같은 값을 포함하는 유효성을 검사하려는.MVC 방해가되지 않는 어댑터를 사용하여 유효성 검사 기능을 수행하는 동안 jquery 유효성 검사 메시지를 사용자 정의 할 수 있습니까?

IClientValidatable을 구현하는 사용자 지정 ValidationAttribute를 만들었습니다. 서버 및 클라이언트 유효성 검사가 모두 작동합니다. 하지만, 내 ErrorMessage가는 다음과 같습니다

ErrorMessage = "{0} has more than 1 '{1}' option.") 

불행히도 난 단지 클라이언트 검증 메시지에 부분적 형식의 메시지를 전달할 수 있고, 그래서처럼 수행

var rule = new ModelClientValidationRule 
{ 
    ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()), 
    ValidationType = "noduplicatestringvalues", 
}; 

유효성 검사는 알 수 없습니다 어떤 옵션 값이 유효성 검사가 실행될 때까지 중복되므로 유효성 검사 기능을 수행하는 동안 메시지 서식을 완성하고 싶습니다.

그러나 오류 메시지는 $.validator.unobtrusive.adapters.add() 기능 중에 만 설정할 수있는 것으로 보입니다.

나는 검증 중에 select 요소에 data-val-noduplicatestringvalues 속성을 설정하려고했지만, 오류 메시지가 여전히 같이 표시됩니다

필드 이름은 1 개 이상의 '{1}'항목이있다.

유효성 검사 중에 오류 메시지를 변경할 수있는 방법이 있습니까?

답변

2

메시지를 사용자 정의 할 수 있습니다.

유효성 검사 방법을 jquery.validate.js에서 보면 원격 유효성 검사 기능에서 반환 된 메시지를 사용하여 오류 메시지를 사용자 정의하는 예가 표시됩니다.

+0

재미 있군요, 언젠가 폼 입력으로 부분보기를로드 할 때 표시되지 않는 데이터 - 값 속성을 유발하는 null FormContext와 관련하여 다른 게시물을 읽습니다. 감사합니다 이것을 시도합니다 ... – danludwig