2012-01-04 2 views
1

내가 아니라 내 폼에 입력에 대한 유효성 검사 메시지를 작성하는 경우, 그래서 "현장 검증 오류"클래스MVC 3 재정의 검증 메시지 CSS를

입니다 유효성 검사기에 대한 기본 검증 CSS 클래스를 오버라이드 (override)하는 것을 시도하고있다 아래 :

@Html.ValidationMessageFor(m=>m.Name) 

그런 다음 MVC 런타임은 다음과 같이 기본적으로 메시지 스팬의 클래스를 설정하는 것입니다 :

<span class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="Name"> 

내 질문은, 내가 CSS 클래스 "현장 valida을 제거하는 방법 오류 "와 그것을 내 응용 프로그램의 일부 영역에서만 사용할 다른 클래스 (내 버전)로 대체하십시오.

답변

3

좋아요 ... 그래서 기본 "필드 유효성 검사 오류"클래스를 "양식 .field 유효성 검사 오류"로 설정하여 루트 css 파일에 있습니다 ... 즉이 클래스는 당신이 볼 수 있듯이

<span class="field-validation-error NewCssClass" data-valmsg-replace="true" data-valmsg-for="Name"> 

:

@Html.ValidationMessageFor(m=>m.Name, new { @class ="NewCssClass"}) 

이 아래의 마크 업을 생성합니다 다음 HTML을 생성 한 후 내보기에 나는 새 CSS 클래스를 포함 할 때 아래에 언급 한 바와 같이 우선 순위가 가장 높습니다 NewCssClass가 기본 유효성 검사 st를 무시합니다. YLE는 ...은 "현장 검증 오류"클래스에 답장을

건배 ...

+2

거기에 두 번째 매개 변수가 누락되어 있습니까? 내가 틀렸다면 나를 바로 잡아주세요. – Naresh

0

편집, 맞습니다. MVC 소스를 통해 멀리 읽지 않았습니다. 확장 메소드 소스를 읽으십시오. 변경할 옵션이없는 those fields are static readonly가 표시됩니다. 설정 클래스 이름을 사용하여와

  1. 거래 :

    그래서, 당신은 두 가지 선택 중 하나 붙어 있습니다.

  2. 자신 만의 확장 메소드를 작성하십시오 (MVC 소스에서 더 쉽게 just copy them을 작성하고 이름을 바꿉니다).
+0

덕분에 지정된 것은 HtmlHelper.ValidationInputCssClassName이 읽기 전용 필드로,보기에서 설정 될 수 없다? ? ... – NiK

+0

더 많은 자료를 읽고 내 대답을 고쳤습니다. 그래도 이상. – Leniency

+0

내가 좋아하는 옵션 C : MVC 유효성 검사를 사용하지 마십시오! – Roger