0
내가 ASP.NET MVC 3는 이런 방식으로 사용하는 클라이언트 측 유효성 검사의 기본 동작을 변경하려면

: 오류가있는 경우사용자 정의 클라이언트 측 ASP.NET MVC 3 확인

을, I 내 실수를 표시하기 위해 HTML에 추가 된 스팬이 필요하지 않습니다. 내가 원하는 유일한 것은 오류가있는 입력 필드의 색상을 변경하는 것입니다.

이 그것을 할 수있는 "권리"방법인지 모르겠어요 그러나 이것은 이미 한 일이다

function onError(error, inputElement) 
    { // 'this' is the form element 
     var container = $(this).find("[data-valmsg-for='" + inputElement[0].name + "']"), 
     replace = $.parseJSON(container.attr("data-valmsg-replace")) !== false; 

    container.removeClass("field-validation-valid").addClass("field-validation-error"); 

    inputElement.addClass("custom-validation-error"); // <--------- this is my edit 
    error.data("unobtrusiveContainer", container); 

    if(replace) 
    { 
    container.empty(); 
    error.removeClass("input-validation-error").appendTo(container); 
    } 
    else 
    { 
    error.hide(); 
    } 
} 

:

내가 jquery.validate.unobtrusive.js 편집 입력 필드의 색상을 변경하는 custom-validation-error라는 클래스 만 추가합니다. 하지만이 클래스를 제거하려면 어떻게해야합니까?

내 HTML에 스팬을 추가하는 방법은 무엇입니까?

감사합니다.

답변

0

대답은 정말 간단했다 좋아 ....

젠장 ...

1

오류 메시지가 표시 될 <span> 태그를 추가하는 부분 인 Html.ValidationMessageFor 필드를 제거하기 만하면됩니다. 따라서 필요한 것은 Html.EditorFor입니다. 그런 다음 작성한 자바 스크립트를 제거하십시오. 내 자바 스크립트 코드 제거

.custom-validation-error 
{ 
    border: 1px solid red !important; 
} 

와 대린 디미트로프 제안으로 Html.ValidationMessageFor을 제거 : 난 그냥이 CSS 규칙을 추가

+0

감사합니다. Html.ValidationMessageFor를 제거했지만 원하는 빨간색 테두리가 없기 때문에 자바 스크립트를 제거하고 싶지 않습니다. 빨간색이 내 유효하지 않은 입력 필드에 추가되면 내 입력이 유효 할 때이를 제거 할 수 없다는 문제가 있습니다! – celticharp

+0

하지만 자바 스크립트가 필요하지 않습니다. 필드가 유효하지 않으면 ASP.NET MVC는 자동으로 'custom-validation-error' 클래스를 추가합니다. 따라서 해당 CSS 규칙을 작성하고 주위에 빨간색 테두리를 넣기 만하면됩니다. –

관련 문제