문제

나는 사용하고있다 jQuery 유효성 검사 플러그인 그리고 수업과 함께 텍스트 상자가 있습니다 digits 강제로 숫자가되지만 필요하지 않습니다. 양식에서 Validate를 호출 할 때 잘 작동하지만 전화하면 valid() 텍스트 상자에서 비어있을 때는 오류 메시지가 표시되지 않고 설정되지 않아도 0을 반환합니다.

왜 그것이 겉보기에 유효한 입력 값으로 이것을 반환 할 것인지 아는 사람이 있습니까?

코드는 다음과 같습니다.

<input type="text" value="" name="kiloMetresTravelled" id="kiloMetresTravelled" class="digits"/>

그리고 대본

<script type="text/javascript'>
 var isvalid = jQuery('#kiloMetresTravelled').valid(); 
 //isvalid == 0 when kiloMetresTravelled is blank
</script>
도움이 되었습니까?

해결책

이것을 확인하십시오 선적 서류 비치:

"필드"를 필요로하고 파기 만합니다.

당신은 다음과 같은 일을 할 수 있습니다 :

var isValid = jQuery('#kiloMetresTravelled').valid() || jQuery('#kiloMetresTravelled').val() == "";

다른 팁

나는 이것이 효과가 있다고 생각한다 :

var e="#whatever";
var isValid = $(e).valid() || $(e).val()== "" && !$(e).hasClass('required');

규칙 메소드가 "this.optional (element)"이있는 선택 필드를 확인할 때 라이브러리에 버그가 있습니다. 필드가 비어 있으면 옵션 반환 "종속성-불일치"를 반환하고 유효성 검사 메소드는 필드를 유효하지 않은 것으로 표시합니다.

전체 설명 :

https://github.com/jzaefferer/jquery-validation/issues/481

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