2010-02-24 2 views
3

ajax를 통해 생성 된 양식을 제출 한 후에 유효성 검사 메시지를 표시하는 가장 좋은 방법을 찾기 위해 고심하고 있습니다.

설명해 드리겠습니다.
몇 가지 옵션으로 시작하는 페이지가 있습니다. 사용자가 드롭 다운에서 선택하고 새 필드를 추가하여 양식이 작성되고 마지막에 양식이 제출됩니다.양식을 Ajax를 통해 생성 한 후 유효성 검사를 표시하는 방법

문제는 서버에서 유효성 검사를 수행하고 페이지에 일반 유효성 검사 메시지를 표시 할 수있는 경우입니다. 제출 버튼을 누르기 전에 사용자가 입력 한 값으로 양식 필드를 어떻게 미리 채워야합니까?

+0

DOM을 통해 만들어진 양식입니까? 죄송합니다. 유효성 검사의 워크 플로를 파악하려고합니다. –

+0

넵, DOM과 innerHtml을 통해 생성 : 버튼 클릭, ajax 호출은 json을 반환합니다. innerHTML을 통해 DOM을 통해 생성 된 일부 html 양식 요소 – CodeClimber

답변

0

이 문제를 처리 할 수있는 몇 가지 방법이 있습니다.

1) 제출시 유효성 검사를 거친 후 AJAX에 전체 게시물이 없으면 다른 AJAX에 전화하십시오. 두 번의 왕복이 포함되며 유효성 검사에 따라 성능 문제가 발생하기 때문에 우아한 해결책은 아닙니다.

2) 폼을 확장하는 데 사용되는 json을 반환 할 때 대신 json 개체 2 세트를 바꿉니다. 첫 번째 개체 집합은 현재 사용중인 데이터를 나타냅니다. 배열의 두 번째 집합은 유효성 검사 논리를 나타내며 양식을 만들 때 필요하지만 적용 할 수 있습니다.

어느 쪽이든 정말 우아합니다. 그러나 후자는 유효성 검사를 수행하는 왕복을 최소화하는 방법을 제공합니다.

+0

예, 일반 POST 대신 Ajax POST를 수행하여 가능하면 되돌릴 수 있습니다. 유효성 검사 오류 ... 두 번째 방법은 클라이언트 측에서 유효성 검사 논리가 가능하지 않습니다 – CodeClimber

1

세 가지 옵션 :

  1. 정상 POST -> 서버가 제출 된 AS

  2. 아약스 POST (양식의 서버 측을 재 구축 할 수 있어야한다) 형태로 렌더링 -> 바로 리디렉션 유효성 검사 후 전에

  3. 체크를 성공했을 경우 사용자는 -> 동기 아약스 검증

를 호출
+0

옵션 2를 사용할 것입니다 옵션 1이 너무 복잡합니다. 전체 모델을 다시 보내야합니다. 유효성 검사 오류를 보여주기위한 페이지. 옵션 2에도 문제가 있습니다. 유효성 검사 메시지를 수동으로 표시했습니다. – CodeClimber

관련 문제