2012-10-18 5 views
8

Symfony2 구성 요소와 Doctrine을 사용하고 있습니다. 유효성 검사는 서버 측 (엔티티의 제약 조건 등)에서 효과적입니다. 내가 원하는 것은 AJAX를 통해 양식 (Symfony Form 구성 요소를 사용하지 않고 작성한 사용자 정의)을 검증하는 것입니다.Symfony2 AJAX 유효성 확인

유효성 검사 구성 요소를 사용하여 AJAX를 사용하여 필드의 유효성을 검사 할 수있는 방법이 있습니까?

아니면 jQuery 유효성 플러그인을 사용해야합니까? 그 이후로 논리적으로 보이지 않는 것으로 보이는 두 가지 유효성 검사가 있습니다.

답변

9

AJAX를 통해 직렬화 된 양식을 보내고 유효성 검사 오류가있는 경우 렌더링 된 양식을 서버 측에서 반환 할 수 있습니다. 서버 측 당신이 AJAX를 요청 있는지 확인하고 JSON 형식으로 response을 반환에

$.post($form.attr('action'), $form.serialize(), function (response) { 
    if (response.success) { 
     // do something on success 
    } else { 
     $form.replaceWith(response.form); 
    } 
}); 

.

+0

@elnur의 답변 주셔서 감사합니다. 이것은 또한 내가 생각하는 것입니다. 그러나 이런 식으로 오류를보기 위해 양식을 제출해야합니다. 나는 사용자가 예를 들어 이메일을 타이핑하기 시작할 때 jQuery Validate plugin과 비슷하고, 올바르지 않은 경우 - 메시지가 표시되기를 원한다. 하지만 각 키 누르기에 대해 AJAX 요청을하고 싶지 않습니다. –

+1

보안 및 기타 문제로 인해 등록 된 모든 전자 메일 목록을 JS에로드하는 것이 의미가 없으므로 어쨌든 AJAX 요청을해야합니다. 각 키 누르기가 아니라 타임 아웃이나 'change'이벤트를 수행해야합니다. –

+0

그건 의미가 있습니다. 고맙습니다! –