2017-01-06 2 views
3

뷰 모델 필드 중 하나에서 ASP.NET MVC Data Annotation 특성에서 최소 길이를 설정했습니다. (2의 값을 갖는다) 드롭 다운 선택에 기초 Jquery에서 ASP.NET MVC 유효성 검사를 동적으로 변경하십시오.

[MinLength(5, ErrorMessage = "A minimum of 5 digits is required")] 

는 MINLENGTH 10. ClientSideValidation 활성화되는 업데이트해야하고 그렇게 검증이 컨트롤러에 다시 배치되기 전에 변화를 반영 할 필요가있다.

드롭 다운 값을 기반으로 jQuery를 사용하여 "data-val-minlength-min"속성을 변경하려고 시도했지만 유효성을 변경하지 않았습니다.

의견을 보내주십시오.

+0

검증을위한 HTML5 데이터 속성 만 클라이언트 측 유효성 검사입니다 -

는 클라이언트와 서버 측 유효성 검사를받을 수 있도록 조건부 검증 속성을 소유 만듭니다. 'MinLength' 속성은 서버 측 유효성 검사 (그리고 html5 데이터 속성 생성)에 사용됩니다. –

+0

@ ADreNaLiNe-DJ, 드롭 다운 변경시 다른 값으로 업데이트하려면 어떻게합니까? – sam113

+0

전달 된 값이 기본값 인 경우 'MinLength'를 상속하여 사용자 정의 속성을 작성하고 서버 측 유효성 검사로 사용자 정의 속성을 호출 할 때 HTTP 요청을 조사하여 드롭 다운에서 반환 한 값을 가져옵니다. 그것이 효과가 있는지 나는 모른다. 그러나 내가 이것을 필요로한다면 시도 할 것이기도하다. –

답변

1

이 방법을 시도해보십시오. 이것은 모델의 둘 이상의 필드에 RemoteValidations를 사용하는 것입니다.

[Remote("CheckForSelectedDropDownLengthMethod","ControllerName",AdditionalFields="SelectedDropDownName",ErrorMessage="The length should be be 10 characters.")] 

public class ControllerName: Controller 
{ 
    public JsonResult CheckForSelectedDropDownLengthMethod(Model yourmodel) 
     { 
       // write your logic to validate the logic here , 
       // Get the selected value of the dropdown, and the field where you want to check the length. 
     } 
} 

@StephenMuecke 나에게 내가 필요로하는 솔루션을 준 예를 https://www.codeproject.com/Tips/669824/Implementing-Remote-Validation-in-MVC

+0

이름에서 알 수 있듯이 이것은 원격으로 유효성 검사를하므로 시간이 걸립니다. 내 양식에도 다른 유효성 검사가 있으며 ClientValidation이 활성화되어 있으므로 다른 모든 입력도 곧 유효성이 검사됩니다. 그 중 하나만 시간이 좀 걸리면 약간 이상하게 보입니다. 나는 @StephenMuecke로부터 의견을 upvoted했다. 그건 내가 필요로하는 것처럼 보입니다. 나는 이미 그 구현을 통해 절반 방법입니다. – sam113

관련 문제