문제

ASP.NET MVC에서 필드 검증을 할 때 다음 오류 CSS 클래스가 생성됩니다.

  • 입력 검증 오류
  • 필드-검증 오류

생성 된 오류 클래스의 이름을 변경할 수있는 방법이 있습니까?

나는 xval을 사용합니다.

도움이 되었습니까?

해결책

나는 xval에 대해 잘 모르겠지만 ASP.NET MVC 측면이 갈 때까지 출처 이 값을 나타내는 정적 리드 론적 문자열이 있음을 알 수 있습니다.

public static readonly string ValidationInputCssClassName = "input-validation-error";
public static readonly string ValidationMessageCssClassName = "field-validation-error";
public static readonly string ValidationSummaryCssClassName = "validation-summary-errors";

따라서 소스를 취향 (Xval을 수정할 수 있음)으로 소스를 편집하거나 출력 코드를 변경하여 다른 값을 사용하여 다른 값을 사용하십시오.

XVal이 jQuery 유효성 검사를 사용하는 경우 (내가 생각합니다 ...?) 'ErrorClass'옵션의 기본값을 변경할 수 있습니다. 내 대답 그 길을 따라 당신을 도울 수 있습니다.

hths,
찰스

다른 팁

내가 한 일은 다음과 같습니다.

private void ChangeValidationClassNames()
{
    var helper = new HtmlHelper(new ViewContext(), new ViewPage());
    SetPublicStaticReadonly("ValidationInputCssClassName", helper, "errInput");
    SetPublicStaticReadonly("ValidationMessageCssClassName", helper, "errMsg");
}

public void SetPublicStaticReadonly(string readonlyPropName, object instance, object value)
{            
    var field = instance.GetType().GetField(readonlyPropName, BindingFlags.Static | BindingFlags.Public);
    if (field == null)
        throw new NullReferenceException(string.Format("public static readonly field '{0}' not found in '{1}'", readonlyPropName, instance));
    field.SetValue(instance, value);
}

보다 깨끗한 솔루션은 다음과 같습니다.

<script type="text/javascript">
    $(document).ready(function(){
        $('.input-validation-error').addClass('CustomErrorClass').removeClass('input-validation-error');
        $('.field-validation-error').addClass('CustomErrorClass').removeClass('field-validation-error');
    });
</script>

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top