OneSpan Sign開発者:ラジオボタンフィールドの作成

Duo Liang, 2018年9月26日

トランザクションを作成するときに、署名式中に受信者から情報を取得することができます。OneSpan Signを使用すると、テキストフィールドやチェックボックスなどのフィールドをドキュメントに配置することにより、これを行うことができます。

このブログでは、ラジオボタンフィールド、SDKメソッドとRESTメソッドの両方でフィールドを作成する方法、およびラジオボタンを作成する際の重要な考慮事項について詳しく説明します。さっそく始めましょう。

ラジオボタンフィールド

OneSpan Signで最も一般的なフィールドタイプの1つはラジオボタンです。それぞれを共通のグループ名に関連付けることにより、グループ化できます。グループ内では、デフォルトの選択としてラジオボタンを事前に選択するだけでなく、署名者に選択を要求する機能があります。

セレモニーの後、選択されたラジオボタンはOneSpan Signによって処理された後、ドキュメント上の「X」によって複製されます。

SDKの例

以下は、ラジオボタンフィールドの作成方法を示すSDKスニペットです。

Javaバージョン:

フィールドradio1 = FieldBuilder.radioButton( "group1")
		           .withId(new FieldId( "signer1_group1_radio1"))
		           .withName(( "signer1_group1_radio1")
	               .withSize(15,15)
	               .onPage(0)
	               .atPosition(100,100)
                   .withValue(true)//デフォルトで選択
                   .withValidation(FieldValidatorBuilder.basic()。required())//必要なバリデーターを追加
                .build();

.Netバージョン:

フィールドradio1 = FieldBuilder.RadioButton( "group1")
                         .WithId(( "signer1_group1_radio1")
      		             .WithName(( "signer1_group1_radio1")
                         .WithSize(15,15)
                         .OnPage(0)
                         .AtPosition(100,100)
                         .WithValue(true)//デフォルトで選択
                         .WithValidation(FieldValidatorBuilder.Basic()。Required())//必要なバリデーターを追加
               .Build();

上記で説明したように、複数のラジオボタンで同じグループ名を共有でき、このグループは単一の署名者にのみバインドできます。フィールドIDは、意味のある命名規則に従って提案されます。

デフォルトでは、署名者は選択を行う必要はありません。署名者に強制する場合は、必須フィールドバリデーターをフィールドに追加して、フィールドJSONに「必須」フィールドを追加します。グループに複数のフィールドがある場合、この行を追加する必要があるのは1つだけですが、すべてのフィールドに追加することをお勧めします。

複数のコンボの1つを事前に選択するには、フィールド値をtrue /” true” /” x” /” X”で設定し、false /” false” /””と比較して、選択を解除します。SDKを使用しているため、ブール値のtrue設定を使用してエラー入力を防ぐことをお勧めします。グループ内の複数のボタンに誤ってtrue値を設定した場合、OneSpan Signは最後に追加されたフィールドをデフォルトで選択されたフィールドとして認識します。

RESTの例

上記のSDKコードに相当するラジオボタンフィールドを作成するJSONの例は、次のように表示されます。

{
   "id": "signer1_group1_radio1"、
   "名前": "signer1_group1_radio1"、
   "タイプ": "入力"、
   "サブタイプ": "ラジオ"、
   "ページ":0、
   "高さ":15、
   "幅":15、
   「左」:100、
   「トップ」:100、
   "値": "X"、
   "検証":{
      "必須":true、
      「列挙型」:[
         「グループ1」
      ]
   }
}

ご覧のとおり、フィールドに追加情報を提供するために、必須属性とラジオグループ名が「検証」属性に入れられています。

興味深い事実

RESTを使用してアプリケーションを開発していて、ラジオボタンメタデータをパッケージJSON(GET / api / packages / {packageId})で取得したい場合、拡張フォームフィールドを利用するには、次のヘッダーパラメーターを含める必要があります。

承諾:application / json; esl-api-version = 11.18(10.6以降のすべてのバージョン)

一方、API呼び出し(GET / api / packages / {packageId} / approvals / {approvalId})を使用して承認メタデータを取得する場合は、このヘッダーパラメーターを指定する必要はありません。つまり、SDKと同じリクエストヘッダーを保持するために、これを実行することをお勧めします。(SDKでは、このパラメーターはデフォルトで追加されます)

あなたは参照することができますリリースノート10.6.1 詳細については。

抽出方法あり

現在、ラジオボタンタイプはDocument Extractionではまだサポートされていません。したがって、Position Extractionを選択してすべてのフィールドを特定し、Field Injection Featureを選択して署名者の情報を入力してデモの例を作成します。

フィールドのフォームフィールド名は、左下の画像に示されています。右側に署名済み文書のスクリーンショットがあります。

9-26-1

この例はJava SDKに基づいており、これらは、位置抽出およびフィールドインジェクション機能も使用しているときに参照できるコアコードです。

DocumentPackage documentPackage = PackageBuilder.newPackageNamed( "ラジオボタンフィールドを含むテストパッケージ")
					.withSigner(SignerBuilder.newSignerWithEmail(signerInfo.get( "email"))。withCustomId( "signer1")
							.withFirstName(signerInfo.get( "firstname"))。withLastName(signerInfo.get( "lastname")))
					.withDocument(DocumentBuilder.newDocumentWithName( "サンプル契約")
							.fromFile( "your file path")
							.enableExtraction()
							.withSignature(SignatureBuilder.signatureFor(signerInfo.get( "email"))
									.withPositionExtracted()。withName( "signer1_fullname1")
									.withField(FieldBuilder.signatureDate()。withPositionExtracted()
											.withName( "signer1_fullname1_date"))
									.withField(radio1).withField(radio2).withField(radio3))
							.withInjectedField(FieldBuilder.textField()。withName( "signer1_name")
									.withValue(signerInfo.get( "firstname")+ "" + signerInfo.get( "lastname")))
							.withInjectedField(FieldBuilder.textField()。withName( "signer1_email")
									.withValue(signerInfo.get( "email")))
							.withInjectedField(FieldBuilder.textField()。withName( "signer1_phone")
									.withValue(signerInfo.get( "phone")))
							.withInjectedField(FieldBuilder.textField()。withName( "signer1_address")
									.withValue(signerInfo.get( "address"))))
					.build();
			PackageId packageId = eslClient.createPackageOneStep(documentPackage);

完全なコードと、例で使用していたドキュメントを見つけることができますここに

今日のブログを通じて、ラジオボタンフィールドの一般的な使用法を理解します。ラジオボタンに位置抽出を適用することにより、ラジオボタンとのトランザクションを効果的に構築できます。

このブログや、OneSpan Signをアプリケーションに統合することに関するその他の質問がある場合は、開発者コミュニティフォーラム 。あなたのフィードバックは私たちにとって重要です!