2011-09-23 5 views
0

좋아, 그래서 우리는 다음과 같은 사항에 대해 입력 상자가 있습니다jquery 폼 유효성 검사를 수행하는 가장 좋은 방법은 무엇입니까?

firstname, lastname, email, password, city, state, captcha, terms and conditions 

내가이 입력 상자의 모든 검증을 완료했습니다.

이 검증은 각 ID에 대한 별도이며, change()

전자 메일 및 보안 문자를 사용 아약스를 통해 작동하고, 그들이 성공하는 경우는 true를 돌려줍니다.

나는 또한 양식 submit()

그러나 내부 검증을 모두 가지고있는 양식이 제출 될 때, 아약스에 유효성 검사가 다시 발생하고 아약스 요청을 처리하는 동안 양식이 제출됩니다.

유효성 검사가 실행되고 자동 제출 될 때까지 양식 지연을 제출하려면 어떻게해야합니까? 일종의 지연 기능처럼?

검증의 각 부분은 error라는 VAR을 반환 - 오류가 false 인 경우 오류가 true 또는 false

이 될 수 있습니다, 그것은 형태가 false를 반환하여 제출 방지 할 수 있습니다.

나는 그것의 단지 중복 검증 제출에서 실행 기본적으로 루프에서 실행으로, 전체 submit() 검증을 폐기 생각하고 있었고, 나는 모든 것이 change()을 통해 검증되지 않는 jQuery를 함께 제출 '버튼을 비활성화 생각하고 있었는데?

+2

왜 jquery 유효성 검사 플러그인을 체크 아웃하지 않으시겠습니까? – Neeraj

+1

jquery에 익숙하지 않기 때문에 사전 빌드 라이브러리를 사용하는 것보다는 배울 것이기 때문에. – Latox

+0

하지만 jquery 자체는 라이브러리이므로 자바 스크립트로 작업해야합니다. 플러그인은 jquery의 핵심 부분이며 작업을 더 쉽게 만들어줍니다. – Neeraj

답변

2

코드 발췌문이 편리 할 수 ​​있지만 AJAX 완료 함수가 제출 요청이라고 말하고 싶습니다. 여러 AJAX 함수가 있기 때문에 데이지 체인으로 연결해야합니다. 즉, 마지막 호출이 완료 될 때까지 다음 호출 등이 완료 될 때까지 계속됩니다. 그러면 사용자는 제출 함수를 호출합니다. 그렇지 않으면 AJAX를 필드 흐림 이후 한 번만 호출하고 제출할 때는 다시 시도하지 마십시오. 다시 말하지만 실제로 진행되고있는 작업을 이해하려면 코드를 참조해야합니다.

+0

+1 ajax의 비동기 부분이 계속 제출을 허용하고 있습니다. 동기식 아약스를 사용하거나 동시성을 유지하려면 기 동시에 요청 카운터를 사용하고 0에 도달하면 완료 처리기에서 실제 제출을 발행하십시오. –

관련 문제