적응형 양식 제출 작업

사용자가 적응형 양식에서 Submit 단추를 클릭하면 제출 작업이 트리거됩니다. 적응형 Forms은 즉시 일부 제출 작업을 제공합니다. 즉시 사용 가능한 제출 작업 은 다음과 같습니다.

또한 기본 제출 작업을 확장하여 고유한 제출 작업을 만들 수도 있습니다.

사이드바에서 적응형 양식 컨테이너 속성의 Submission 섹션에서 제출 작업을 구성할 수 있습니다.

제출 작업 구성

REST 엔드포인트에 제출

Submit to REST Endpoint 작업을 사용하여 제출된 데이터를 나머지 URL에 게시합니다. URL은 내부(양식이 렌더링되는 서버) 또는 외부 서버일 수 있습니다.

내부 서버에 데이터를 게시하려면 리소스의 경로를 제공합니다. 데이터는 리소스의 경로를 게시합니다. 예: /content/restEndPoint 이러한 post 요청의 경우 제출 요청의 인증 정보가 사용됩니다.

외부 서버에 데이터를 게시하려면 URL을 제공합니다. URL의 형식은 https://host:port/path_to_rest_end_point입니다. POST 요청을 익명으로 처리하도록 경로를 구성해야 합니다.

감사 인사 페이지 매개 변수로 전달된 필드 값에 대한 매핑

위의 예에서 사용자가 textbox에 입력한 정보는 param1 매개 변수를 사용하여 캡처됩니다. param1을 사용하여 캡처된 데이터를 게시하는 구문은 다음과 같습니다.

String data=request.getParameter("param1");

마찬가지로 XML 데이터 및 첨부 파일을 게시하는 데 사용하는 매개 변수는 dataXmlattachments입니다.

예를 들어, 스크립트에서 이 두 매개 변수를 사용하여 데이터를 나머지 종료 지점으로 구문 분석합니다. 다음 구문을 사용하여 데이터를 저장하고 구문 분석합니다.

String data=request.getParameter("dataXml");
String att=request.getParameter("attachments");

이 예에서 data은 XML 데이터를 저장하고 att은 첨부 데이터를 저장합니다.

Submit to REST endpoint 제출 작업은 양식에 입력된 데이터를 HTTP GET 요청의 일부로 구성된 확인 페이지에 제출합니다. 요청할 필드의 이름을 추가할 수 있습니다. 요청 형식은 다음과 같습니다.

{fieldName}={request parameter name}

아래 이미지에 표시된 대로 param1param2은 다음 작업에 대한 textboxnumericbox 필드에서 복사한 값을 사용하여 매개 변수로 전달됩니다.

Rest 끝점 전송 작업 구성

또한 Enable POST request 및 요청을 게시할 URL을 제공할 수 있습니다. 양식을 호스팅하는 AEM 서버에 데이터를 제출하려면 AEM 서버의 루트 경로에 해당하는 상대 경로를 사용합니다. 예, /content/forms/af/SampleForm.html. 다른 서버에 데이터를 제출하려면 절대 경로를 사용합니다.

노트

필드를 REST URL에서 매개 변수로 전달하려면 필드가 다른 패널에 배치되더라도 모든 필드에 다른 요소 이름이 있어야 합니다.

이메일 보내기

Send Email 작업 제출 을 사용하여 양식을 성공적으로 제출할 때 하나 이상의 수신자에게 이메일을 보낼 수 있습니다. 생성된 이메일에는 양식 데이터가 사전 정의된 형식으로 포함될 수 있습니다. 예를 들어 다음 템플릿의 경우 고객 이름, 배송 주소, 상태 이름 및 우편 번호가 제출된 양식 데이터에서 검색됩니다.

"

안녕하세요. ${customer_Name} 님, 

다음 주소가 기본 배송 주소로 설정됩니다. 
${customer_Name},
${customer_Shipping_Address},
${customer_State},
${customer_ZIPCode}

안녕하세요, 
WKND

"
노트
  • 필드가 적응형 양식의 다른 패널에 배치되더라도 모든 양식 필드에는 다른 요소 이름이 있어야 합니다.
  • AEM as a Cloud Service을 사용하려면 아웃바운드 메일을 암호화해야 합니다. 기본적으로 아웃바운드 이메일은 비활성화되어 있습니다. 이 기능을 활성화하려면 액세스 요청에 지원 티켓을 제출하십시오.

전자 메일에 첨부 파일과 DoR(Document of Record)를 포함할 수도 있습니다. Attach Document of Record 옵션을 활성화하려면 적응형 양식을 구성하여 레코드 문서(DoR)를 생성합니다. 적응형 양식 속성에서 레코드 문서를 생성하는 옵션을 활성화할 수 있습니다.

양식 데이터 모델을 사용하여 제출

Submit using Form Data Model 작업 제출은 양식 데이터 모델의 지정된 데이터 모델 개체에 대해 제출된 적응형 양식 데이터를 해당 데이터 소스에 기록합니다. 제출 작업을 구성할 때 제출된 데이터를 해당 데이터 소스에 다시 쓸 데이터 모델 개체를 선택할 수 있습니다.

또한 양식 데이터 모델 및 레코드 문서(DoR)를 사용하여 양식 첨부 파일을 데이터 소스에 제출할 수 있습니다. 양식 데이터 모델에 대한 내용은 AEM Forms 데이터 통합을 참조하십시오.

AEM 워크플로우 호출

Invoke an AEM Workflow 제출 작업은 적응형 양식을 AEM Workflow와 연결합니다. 양식이 제출되면 연결된 워크플로우가 작성자 인스턴스에서 자동으로 시작됩니다. 제출 작업은 워크플로우의 페이로드 위치에 다음 사항을 배치합니다.

  • 데이터 파일: 여기에는 적응형 양식에 전송된 데이터가 포함되어 있습니다. Data File Path 옵션을 사용하여 페이로드를 기준으로 파일 이름과 파일 경로를 지정할 수 있습니다. 예를 들어 /addresschange/data.xml 경로는 addresschange 폴더를 만들고 페이로드를 기준으로 배치합니다. 폴더 계층 구조를 만들지 않고 제출된 데이터만 전송하도록 data.xml만 지정할 수도 있습니다.

  • 첨부 파일: 옵션을 사용하여 Attachment Path 폴더 이름을 지정하여 적응형 양식에 업로드된 첨부 파일을 저장할 수 있습니다. 페이로드를 기준으로 폴더가 만들어집니다.

  • 기록 문서: 여기에는 적응형 양식에 대해 생성된 레코드 문서가 포함되어 있습니다. Document of Record Path 옵션을 사용하여 [레코드 문서] 파일의 이름과 페이로드를 기준으로 파일 경로를 지정할 수 있습니다. 예를 들어 /addresschange/DoR.pdf 경로는 페이로드를 기준으로 addresschange 폴더를 만들고 페이로드를 기준으로 DoR.pdf 를 배치합니다. 폴더 계층을 만들지 않고 레코드 문서만 저장하도록 DoR.pdf만 지정할 수도 있습니다.

Invoke an AEM Workflow 제출 작업을 사용하기 전에 AEM DS settings service 구성에 대해 다음을 구성합니다.

  • Processing Server URL: 처리 서버는 Forms 또는 AEM Workflow가 트리거되는 서버입니다. AEM 작성자 인스턴스 또는 다른 서버의 URL과 같을 수 있습니다.

  • Processing Server User Name: 워크플로우 사용자의 사용자 이름

  • Processing Server Password: 워크플로우 사용자 암호

구성 값을 설정하려면 AEM SDK를 사용하여 OSGi 구성을 생성하고 구성을 Cloud Service 인스턴스에 배포합니다.

동기 또는 비동기 제출 사용

제출 작업은 동기 또는 비동기 제출을 사용할 수 있습니다.

동기 제출: 일반적으로 웹 양식은 동기식으로 제출되도록 구성됩니다. 동기 제출 시 사용자가 양식을 제출하면 수신 확인 페이지, 감사 인사 페이지로 리디렉션되거나 제출 실패 시 오류 페이지가 표시됩니다. Use asynchronous submission 옵션을 선택하여 사용자를 웹 페이지로 리디렉션하거나 제출 시 메시지를 표시할 수 있습니다.

제출 작업 구성

비동기 제출: 단일 페이지 애플리케이션과 같은 최신 웹 경험은 웹 페이지가 정적 상태로 유지되면서 백그라운드에서 클라이언트 서버 상호 작용이 발생하는 경우 큰 인기를 얻고 있습니다. 이제 비동기 제출을 구성하여 응용 Forms에 이 경험을 제공할 수 있습니다.

적응형 양식의 서버측 재유효성 검사

일반적으로 온라인 데이터 캡처 시스템에서 개발자는 일부 JavaScript 유효성 검사를 클라이언트 측에 배치하여 몇 가지 비즈니스 규칙을 적용합니다. 그러나 최신 브라우저에서 최종 사용자는 이러한 유효성 검사를 건너뛰고 웹 브라우저 개발 도구 콘솔 등의 다양한 기술을 사용하여 수동으로 제출을 수행할 수 있습니다. 이러한 기법은 적응형 Forms에도 유효합니다. Forms 개발자는 다양한 유효성 검사 논리를 만들 수 있지만, 기술적으로 최종 사용자는 이러한 유효성 검사 논리를 무시하고 잘못된 데이터를 서버에 제출할 수 있습니다. 잘못된 데이터는 양식 작성자가 적용한 비즈니스 규칙을 손상시킵니다.

서버측 유효성 검사 기능은 서버에서 적응형 양식을 디자인하는 동안 적응형 Forms 작성자가 제공한 유효성 검사를 실행하는 기능도 제공합니다. 양식 유효성 검사 측면에서 나타내는 데이터 제출 및 비즈니스 규칙 위반의 발생 가능성을 방지합니다.

서버에서 유효성을 검사하려면 어떻게 해야 합니까?

서버에서 다시 실행되는 적응형 양식의 모든 기본(OOTB) 필드 유효성 검사는 다음과 같습니다.

  • 필수
  • 유효성 검사 그림 절
  • 유효성 검사 표현식

서버측 유효성 검사 활성화

사이드바의 적응형 양식 컨테이너 아래에 있는 Revalidate on server 을 사용하여 현재 양식에 대한 서버측 유효성 검사를 활성화하거나 비활성화합니다.

서버측 유효성 검사 활성화

서버측 유효성 검사 활성화

최종 사용자가 이러한 유효성 검사를 무시하고 양식을 제출하면 서버에서 다시 유효성 검사를 수행합니다. 서버 끝에서 유효성 검사가 실패하면 제출 트랜잭션이 중지됩니다. 최종 사용자에게 원본 양식이 다시 표시됩니다. 캡처된 데이터와 제출된 데이터가 오류로 사용자에게 표시됩니다.

노트

서버측 유효성 검사는 양식 모델의 유효성을 검사합니다. 유효성 검사를 위해 별도의 클라이언트 라이브러리를 만들고 동일한 클라이언트 라이브러리에서 HTML 스타일 및 DOM 조작과 같은 다른 항목과 혼합하지 않는 것이 좋습니다.

유효성 검사 표현식에서 사용자 지정 함수 지원

경우에 따라 복잡한 유효성 검사 규칙​이 있으면 정확한 유효성 검사 스크립트가 사용자 지정 함수에 있고 작성자가 필드 유효성 검사 표현식에서 이러한 사용자 지정 함수를 호출합니다. 서버측 유효성 검사를 수행하는 동안 이 사용자 지정 함수 라이브러리를 알고 사용할 수 있도록 하기 위해 양식 작성자는 아래 표시된 대로 적응형 양식 컨테이너 속성의 Basic 탭 아래에 AEM 클라이언트 라이브러리의 이름을 구성할 수 있습니다.

유효성 검사 표현식에서 사용자 지정 함수 지원

유효성 검사 표현식에서 사용자 지정 함수 지원

작성자는 적응형 양식에 따라 사용자 지정 JavaScript 라이브러리를 구성할 수 있습니다. 라이브러리에서는 jquery 및 underscore.js 타사 라이브러리에 대한 종속성이 있는 재사용 가능한 함수만 유지합니다.

제출 작업 시 오류 처리

AEM 보안 및 강화 지침의 일부로, 400.jsp, 404.jsp 및 500.jsp와 같은 사용자 지정 오류 페이지를 구성합니다. 이러한 처리기는 양식 제출 시 400, 404 또는 500 오류가 나타날 때 호출됩니다. 이러한 오류 코드가 게시 노드에서 트리거될 때도 핸들러가 호출됩니다. 다른 HTTP 오류 코드에 대한 JSP 페이지를 만들 수도 있습니다.

XML 또는 JSON 데이터를 사용하여 양식 데이터 모델 또는 스키마 기반 적응형 양식을 데이터 소스에 미리 채우면 <afData>, <afBoundData></afUnboundData> 태그가 포함되지 않은 스키마에 대해 바인딩되지 않은 적응형 양식의 필드 데이터가 손실됩니다. 스키마는 XML 스키마, JSON 스키마 또는 양식 데이터 모델일 수 있습니다. 경계 없는 필드는 bindref 속성이 없는 적응형 양식 필드입니다.

이 페이지에서는