2013-06-20 7 views
4

JQuery Validate는 필수 속성을 차단합니다. 예 :HTML5 입력 필수 - 비활성화 방법

<input type="text" required /> 

이렇게하면 클라이언트 쪽에서 유효성 검사가 잘됩니다. 이제 이것은 HTML5 스펙의 일부이기도하며 JavaScript를 사용할 수없는 경우에도 유효성 검사 메시지를 표시하는 브라우저를 지원합니다.

내 응용 프로그램에서 이미 서버 측 유효성 검사를 구축 했으므로이 동작을 중지하고 싶습니다. 그래서 내 질문은 어떻게이 HTML5 폼 유효성 검사를 비활성화 할 수 있습니까?

업데이트 기본적으로 JQuery의 유효성 검사와 유효성 검사 실행이 훌륭하다는 점에 만족합니다. 그러나 사용자가 JavaScript를 사용할 수 없도록 설정 한 경우 유효성 검사를 이미 작성한 서버 측 유효성 검사로 되돌리려합니다. 그러나 JQuery 유효성 검사와 HTML5는 동일한 마크 업을 공유하기 때문에 양식을 제출하는 것이 아니라 HTML5 유효성 검사 메시지를 표시합니다. 이는 내가 비활성화하려는 것입니다. 이게 말이 돼?

+4

'필수'속성을 제거 하시겠습니까? –

+0

왜 비활성화 하시겠습니까? 클라이언트 측 유효성 검사는 일반적으로 서버 측 유효성 검사 대신 사용할 수있는 사용자 편의를위한 선택 검사입니다. 사용자가 유효하지 않은 데이터 (사용자의 서버 측 유효성 검사에 의해 거부되는 데이터)를 전송할 수있게하려는 경우에만 클라이언트 측 유효성 검사를 비활성화해야합니다 ('required' 속성 제거). –

+0

이유는 내 업데이트를 참조하십시오. – baynezy

답변

10

양식 유효성 검사를 중지하려면 폼 개체에 novalidate 매개 변수를 추가하십시오.

<form action="test.do" novalidate> 
    <input type="text" required /> 
</form> 
+0

감사합니다. 그것은 치료를했습니다. – baynezy

0

HTML5 호환 브라우저는 기본적으로이를 필수 필드로 해석하므로 실제로이를 중지 할 방법이 없습니다. 그것을 추가함으로써 이것은 필수적이라고 말하고 있습니다.

시도해 볼 수있는 아이디어가 있습니다. 검증을위한 표현식을 제공 할 수있는 또 다른 속성 "패턴"이 있습니다. 아마 당신이 모든 것을 받아들이게 만든다면 브라우저의 HTML5 유효성 검사는 모든것을 통과시킬 것이고 jquery validation이 작동하도록 할 것입니다.

<input type="url" required pattern="*" /> 

아직 테스트하지 않았습니다. 이론입니다. 그것이 작동한다면, 그것은 굉장합니다. ;)

관련 문제