나는 사용자 정의 유효성 검사가 필요 없다고 생각합니다. 확인란을 선택하면 jquery를 사용하여 필수 속성을 추가하고 선택하지 않을 때이 속성을 제거 할 수 있습니다 (또한 첫 번째로드 준비가 된 문서에서도 확인). 예를 들어 :
$('#myCheckBox').click(function() {
if ($(this).is(':checked')) {
$('#myDropDown').removeAttr('required');
}
else {
$('#myDropDown').attr('required', true);
}
});
그러나이 경우에 <option>
값이 비어 있어야합니다. <option value>Please select an item</option>
(나는 dropdownlists의 일반적인 동작을 알고 있기 때문에). 그런 다음 jquery 유효성 검사 플러그인은 필수 속성의 유효성을 자동으로 확인합니다.
편집
좋아, 당신은 확실히 사용자 정의 유효성 검사를 사용해야하는 경우, 당신은이 방법으로 수행 할 수 있습니다)
하나를 예를 들어 준비 문서)
$.validator.addMethod("checkIfNotZero", function (value, element) {
return this.optional(element) || ($('#checkbox').is(':checked')&&value!=0);
}, "Please, select value");
$.validator.addClassRules("mySpecificClass", { checkIfNotZero: true });
에 (당신에게 검증 방법을 추가
2) 드롭 다운 목록을 class="mySpecificClass"
으로 표시
3) 그리고 $('#myDropDown').valid()
어디에 필요합니까 (예를 들어 onSubmit 이벤트 핸들러에서 $(form).validate()
을 호출).
나는 그게 전부라고 생각합니다. 희망이 도움이 될 것입니다.
은 필수가 아니기 때문에 비워 둘 수 없습니다 .. 컨트롤러에서 모든 선택 요소를 long []으로 매핑했습니다. 따라서 내가 컨트롤러의 값을 받으면 길어질 것으로 예상되며, 나는 나쁜 시간을 갖습니다. – Dragan
spasiba alexey! – Dragan
항상 환영합니다;) –