Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
Al crear un formulario, puede requerir que un usuario complete algunos campos obligatorios. O también es posible que desee asegurarse de que el usuario ingrese entradas válidas. Al validar los datos del formulario mientras el usuario los rellena, el usuario puede saber inmediatamente si ha cometido algún error o si ha dejado un campo obligatorio vacío. Esto le ahorra tiempo a la hora de lidiar con una entrada de formulario incorrecta o vacía. Con OneSpan Sign, puede lograrlo creando validadores de campo. Un validador de campo le permite requerir y restringir el rango de valores aceptables para un campo no delimitado.
Al construir un validador de campo, debe seleccionar primero el tipo de datos deseado del campo (por ejemplo, numérico, alfabético). A continuación, puede agregar otros parámetros (como la longitud máxima).
Un campo solo puede tener un validador.
El siguiente código de ejemplo le muestra cómo agregar la validación de campo a un campo que está vinculado a una firma.
Si necesita una comparación con el procedimiento básico de creación de objetos o si es la primera vez que crea una transacción, consulte Crear y enviar una transacción.
.withSignature(SignatureBuilder.captureFor("[email protected]") .withName("client_signature") .withId(new SignatureId("client")) .withPositionExtracted() .withField(FieldBuilder.signatureDate() .withId(new FieldId("signature_date")) .withName("client_date") .withPositionExtracted()) .withField(FieldBuilder.textField() .withId(new FieldId("client_first")) .withName("first_name") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().withErrorMessage("Please enter a valid first name."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_last")) .withName("last_name") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().withErrorMessage("Please enter a valid last name."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_address")) .withName("address") .withPositionExtracted() .withValidation(FieldValidatorBuilder.basic().required().withErrorMessage("Please enter a valid address."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_city")) .withName("city") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().withErrorMessage("Please enter a valid city."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_state")) .withName("state") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().maxLength(2).minLength(2).withErrorMessage("Please enter a valid state."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_zip")) .withName("zip") .withPositionExtracted() .withValidation(FieldValidatorBuilder.numeric().required().maxLength(5).minLength(5).withErrorMessage("Please enter a valid zip."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_country")) .withName("country") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().withErrorMessage("Please enter a valid country."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_phone")) .withName("phone_number") .withPositionExtracted() .withValidation(FieldValidatorBuilder.regex("^[2-9]\\d{2}-\\d{3}-\\d{4}$").required().withErrorMessage("Please enter a valid phone number (XXX-XXX-XXXX)"))) .withField(FieldBuilder.textField() .withId(new FieldId("client_email")) .withName("email") .withPositionExtracted() .withValidation(FieldValidatorBuilder.email().required().withErrorMessage("Please enter a valid email."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_company")) .withName("company") .withPositionExtracted() .withValidation(FieldValidatorBuilder.alphabetic().required().withErrorMessage("Please enter a valid company."))) .withField(FieldBuilder.textField() .withId(new FieldId("client_policy")) .withName("policy_number") .withPositionExtracted() .withValidation(FieldValidatorBuilder.numeric().required().withErrorMessage("Please enter a valid policy number.")))
En este ejemplo, los campos de formulario se extraen del PDF. Para extraer cada campo de formulario en su PDF, tendrá que pasar el nombre exacto de su campo de formulario PDF al método withName() y usar el método withPositionExtracted() para asegurarse de que la posición y el tamaño exactos se conserven en OneSpan Sign
La extracción de la posición solo se puede hacer al cargar su documento y solo a través de la API/SDKs.
Para crear un validador de campo, deberá pasar un tipo de validador de campo a FieldValidatorBuilder. Puede utilizar los validadores predefinidos que vienen con la API/SDK o puede crear su propio validador personalizado utilizando expresiones regulares.
El método required() hace que un campo sea obligatorio y el método withErrorMessage() personaliza el mensaje de error que aparecerá si el usuario ingresa datos de formato no válidos o si el campo requerido se deja en blanco. También puede restringir la longitud de una entrada utilizando los métodos maxLength() y minLength()
Resultados
Una vez que se envía la transacción, los campos requeridos se marcarán para que el firmante los complete. El firmante no podrá continuar hasta que haya rellenado estos campos.
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
Al crear un formulario, puede requerir que un usuario complete algunos campos obligatorios. O también es posible que desee asegurarse de que el usuario ingrese entradas válidas. Al validar los datos del formulario mientras el usuario los rellena, el usuario puede saber inmediatamente si ha cometido algún error o si ha dejado un campo obligatorio vacío. Esto le ahorra tiempo a la hora de lidiar con una entrada de formulario incorrecta o vacía. Con OneSpan Sign, puede lograrlo creando validadores de campo. Un validador de campo le permite requerir y restringir el rango de valores aceptables para un campo no delimitado.
Al construir un validador de campo, debe seleccionar primero el tipo de datos deseado del campo (por ejemplo, numérico, alfabético). A continuación, puede agregar otros parámetros (como la longitud máxima).
Un campo solo puede tener un validador.
El código
El siguiente código de ejemplo le muestra cómo agregar la validación de campo a un campo que está vinculado a una firma.
Si necesita una comparación con el procedimiento básico de creación de objetos o si es la primera vez que crea una transacción, consulte Crear y enviar una transacción.
.WithSignature(SignatureBuilder.CaptureFor("[email protected]") .WithName("client_signature") .WithPositionExtracted() .WithField(FieldBuilder.SignatureDate() .WithName("client_date") .WithPositionExtracted()) .WithField(FieldBuilder.TextField() .WithName("first_name") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().WithErrorMessage("Please enter a valid first name."))) .WithField(FieldBuilder.TextField() .WithName("last_name") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().WithErrorMessage("Please enter a valid last name."))) .WithField(FieldBuilder.TextField() .WithName("address") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Basic().Required().WithErrorMessage("Please enter a valid address."))) .WithField(FieldBuilder.TextField() .WithName("city") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().WithErrorMessage("Please enter a valid city."))) .WithField(FieldBuilder.TextField() .WithName("state") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().MaxLength(2).MinLength(2).WithErrorMessage("Please enter a valid state."))) .WithField(FieldBuilder.TextField() .WithName("zip") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Numeric().Required().MaxLength(5).MinLength(5).WithErrorMessage("Please enter a valid zip."))) .WithField(FieldBuilder.TextField() .WithName("country") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().WithErrorMessage("Please enter a valid country."))) .WithField(FieldBuilder.TextField() .WithName("phone_number") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Regex("^[2-9]\\d{2}-\\d{3}-\\d{4}$").Required().WithErrorMessage("Please enter a valid phone number (XXX-XXX-XXXX)"))) .WithField(FieldBuilder.TextField() .WithName("email") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Email().Required().WithErrorMessage("Please enter a valid email."))) .WithField(FieldBuilder.TextField() .WithName("company") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Alphabetic().Required().WithErrorMessage("Please enter a valid company."))) .WithField(FieldBuilder.TextField() .WithName("policy_number") .WithPositionExtracted() .WithValidation(FieldValidatorBuilder.Numeric().Required().WithErrorMessage("Please enter a valid policy number."))))
En este ejemplo, los campos de formulario se extraen del PDF. Para extraer cada campo de formulario en su PDF, tendrá que pasar el nombre exacto de su campo de formulario PDF al método withName() y usar el método withPositionExtracted() para asegurarse de que la posición y el tamaño exactos se conserven en OneSpan Sign
La extracción de la posición solo se puede hacer al cargar su documento y solo a través de la API/SDKs.
Para crear un validador de campo, deberá pasar un tipo de validador de campo a FieldValidatorBuilder. Puede utilizar los validadores predefinidos que vienen con la API/SDK o puede crear su propio validador personalizado utilizando expresiones regulares.
El método required() hace que un campo sea obligatorio y el método withErrorMessage() personaliza el mensaje de error que aparecerá si el usuario ingresa datos de formato no válidos o si el campo requerido se deja en blanco. También puede restringir la longitud de una entrada utilizando los métodos maxLength() y minLength()
Resultados
Una vez que se envía la transacción, los campos requeridos se marcarán para que el firmante los complete. El firmante no podrá continuar hasta que haya rellenado estos campos.
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
Al crear un formulario, puede requerir que un usuario complete algunos campos obligatorios. O también es posible que desee asegurarse de que el usuario ingrese entradas válidas. Al validar los datos del formulario mientras el usuario los rellena, el usuario puede saber inmediatamente si ha cometido algún error o si ha dejado un campo obligatorio vacío. Esto le ahorra tiempo a la hora de lidiar con una entrada de formulario incorrecta o vacía. Con OneSpan Sign, puede lograrlo creando validadores de campo. Un validador de campo le permite requerir y restringir el rango de valores aceptables para un campo no delimitado.
Al construir un validador de campo, debe seleccionar primero el tipo de datos deseado del campo (por ejemplo, numérico, alfabético). A continuación, puede agregar otros parámetros (como la longitud máxima).
Un campo solo puede tener un validador.
El siguiente código de ejemplo le muestra cómo agregar la validación de campo a un campo que está vinculado a una firma.
Si necesita una comparación con el procedimiento básico de creación de objetos o si es la primera vez que crea una transacción, consulte Crear y enviar una transacción.
Solicitud HTTP
POST /api/packages
Encabezados HTTP
Accept: application/json Content-Type: multipart/form-data Authorization: Basic api_key
Carga útil de solicitud
------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" { "autocomplete": true, "documents": [ { "approvals": [ { "role": "manager", "fields": [ { "subtype": "LABEL", "binding": "{approval.signed}", "extract": true, "type": "INPUT", "name": "manager_date" }, { "subtype": "CAPTURE", "extract": true, "type": "SIGNATURE", "name": "manager_signature" } ], "name": "" }, { "role": "client", "fields": [ { "subtype": "LABEL", "binding": "{approval.signed}", "extract": true, "type": "INPUT", "name": "client_date" }, { "validation": { "required": true, "errorMessage": "Please enter a valid first name.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "first_name" }, { "validation": { "required": true, "errorMessage": "Please enter a valid last name.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "last_name" }, { "validation": { "required": true, "errorMessage": "Please enter a valid address.", "pattern": "" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "address" }, { "validation": { "required": true, "errorMessage": "Please enter a valid city.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "city" }, { "validation": { "maxLength": 2, "required": true, "minLength": 2, "errorMessage": "Please enter a valid state.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "state" }, { "validation": { "maxLength": 5, "required": true, "minLength": 5, "errorMessage": "Please enter a valid zip.", "pattern": "^[-+]?[0-9]*\\.?[0-9]*$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "zip" }, { "validation": { "required": true, "errorMessage": "Please enter a valid country.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "country" }, { "validation": { "required": true, "errorMessage": "Please enter a valid phone number (XXX-XXX-XXXX)", "pattern": "^[2-9]\\d{2}-\\d{3}-\\d{4}$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "phone_number" }, { "validation": { "required": true, "errorMessage": "Please enter a valid email.", "pattern": "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "email" }, { "validation": { "required": true, "errorMessage": "Please enter a valid company.", "pattern": "^[\\sa-zA-Z]+$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "company" }, { "validation": { "required": true, "errorMessage": "Please enter a valid policy number.", "pattern": "^[-+]?[0-9]*\\.?[0-9]*$" }, "subtype": "TEXTFIELD", "extract": true, "type": "INPUT", "name": "policy_number" }, { "subtype": "CAPTURE", "extract": true, "type": "SIGNATURE", "name": "client_signature" } ], "name": "" } ], "extract": true, "name": "Contract" } ], "status": "SENT", "type": "PACKAGE", "roles": [ { "id": "client", "type": "SIGNER", "signers": [ { "lastName": "Smith", "email": "[email protected]", "firstName": "John", "id": "client" } ], "name": "client" }, { "id": "manager", "type": "SENDER", "signers": [ { "lastName": "Haidary", "email": "[email protected] ", "firstName": "Haris", "id": "manager" } ], "name": "manager" } ], "name": "Sample Contract" } ------WebKitFormBoundary1bNO60n7FqP5WO4t--
Para obtener una descripción completa de cada campo, consulte la tabla Carga útil de solicitud siguiente.
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
Al crear un formulario, puede requerir que un usuario complete algunos campos obligatorios. O también es posible que desee asegurarse de que el usuario ingrese entradas válidas. Al validar los datos del formulario mientras el usuario los rellena, el usuario puede saber inmediatamente si ha cometido algún error o si ha dejado un campo obligatorio vacío. Esto le ahorra tiempo a la hora de lidiar con una entrada de formulario incorrecta o vacía. Con OneSpan Sign, puede lograrlo creando validadores de campo. Un validador de campo le permite requerir y restringir el rango de valores aceptables para un campo no delimitado.
Al construir un validador de campo, debe seleccionar primero el tipo de datos deseado del campo (por ejemplo, numérico, alfabético). A continuación, puede agregar otros parámetros (como la longitud máxima).
Un campo solo puede tener un validador.
El siguiente código de ejemplo le muestra cómo agregar la validación de campo a un campo que está vinculado a una firma.
Si necesita una comparación con el procedimiento básico de creación de objetos o si es la primera vez que crea una transacción, consulte Crear y enviar una transacción.
//Approval for client ESignLiveAPIObjects.Approval approvalForClient = new ESignLiveAPIObjects.Approval(); approvalForClient.role = roleId2; approvalForClient.id = 'approvalForClient'; //signature field for client ESignLiveAPIObjects.Field fieldClient1 = new ESignLiveAPIObjects.Field(); fieldClient1.extract = true; fieldClient1.name = 'client_signature'; //match pdf field property name fieldClient1.type = 'SIGNATURE'; fieldClient1.subtype = 'CAPTURE'; //date field for client ESignLiveAPIObjects.Field fieldClient2 = new ESignLiveAPIObjects.Field(); fieldClient2.extract = true; fieldClient2.name = 'client_date'; //match pdf field property name fieldClient2.type = 'INPUT'; fieldClient2.subtype = 'LABEL'; fieldClient2.binding = '{approval.signed}'; //text field: first_name ESignLiveAPIObjects.Field fieldClient3 = new ESignLiveAPIObjects.Field(); fieldClient3.extract = true; fieldClient3.name = 'first_name'; //match pdf field property name fieldClient3.type = 'INPUT'; fieldClient3.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_first_name = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_first_name.required = true; FieldValidation_first_name.errorMessage = 'Please enter a valid first name.'; FieldValidation_first_name.pattern = '^[\\sa-zA-Z]+$'; fieldClient3.validation = FieldValidation_first_name; //text field: last_name ESignLiveAPIObjects.Field fieldClient4 = new ESignLiveAPIObjects.Field(); fieldClient4.extract = true; fieldClient4.name = 'last_name'; //match pdf field property name fieldClient4.type = 'INPUT'; fieldClient4.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_last_name = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_last_name.required = true; FieldValidation_last_name.errorMessage = 'Please enter a valid last name.'; FieldValidation_last_name.pattern = '^[\\sa-zA-Z]+$'; fieldClient4.validation = FieldValidation_last_name; //text field: address ESignLiveAPIObjects.Field fieldClient5 = new ESignLiveAPIObjects.Field(); fieldClient5.extract = true; fieldClient5.name = 'address'; //match pdf field property name fieldClient5.type = 'INPUT'; fieldClient5.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_address = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_address.required = true; FieldValidation_address.errorMessage = 'Please enter a valid address.'; FieldValidation_address.pattern = ''; fieldClient5.validation = FieldValidation_address; //text field: city ESignLiveAPIObjects.Field fieldClient6 = new ESignLiveAPIObjects.Field(); fieldClient6.extract = true; fieldClient6.name = 'city'; //match pdf field property name fieldClient6.type = 'INPUT'; fieldClient6.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_city = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_city.required = true; FieldValidation_city.errorMessage = 'Please enter a valid city.'; FieldValidation_city.pattern = '^[\\sa-zA-Z]+$'; fieldClient6.validation = FieldValidation_city; //text field: state ESignLiveAPIObjects.Field fieldClient7 = new ESignLiveAPIObjects.Field(); fieldClient7.extract = true; fieldClient7.name = 'state'; //match pdf field property name fieldClient7.type = 'INPUT'; fieldClient7.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_state = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_state.required = true; FieldValidation_state.errorMessage = 'Please enter a valid state.'; FieldValidation_state.pattern = '^[\\sa-zA-Z]+$'; FieldValidation_state.maxLength = 2; FieldValidation_state.minLength = 2; fieldClient7.validation = FieldValidation_state; //text field: zip ESignLiveAPIObjects.Field fieldClient8 = new ESignLiveAPIObjects.Field(); fieldClient8.extract = true; fieldClient8.name = 'zip'; //match pdf field property name fieldClient8.type = 'INPUT'; fieldClient8.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_zip = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_zip.required = true; FieldValidation_zip.errorMessage = 'Please enter a valid zip.'; FieldValidation_zip.pattern = '^[-+]?[0-9]*\\.?[0-9]*$'; FieldValidation_zip.maxLength = 5; FieldValidation_zip.minLength = 5; fieldClient8.validation = FieldValidation_zip; //text field: phone_number ESignLiveAPIObjects.Field fieldClient9 = new ESignLiveAPIObjects.Field(); fieldClient9.extract = true; fieldClient9.name = 'phone_number'; //match pdf field property name fieldClient9.type = 'INPUT'; fieldClient9.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_phone_number = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_phone_number.required = true; FieldValidation_phone_number.errorMessage = 'Please enter a valid phone number (XXX-XXX-XXXX)'; FieldValidation_phone_number.pattern = '^[2-9]\\d{2}-\\d{3}-\\d{4}$'; fieldClient9.validation = FieldValidation_phone_number; //text field: email ESignLiveAPIObjects.Field fieldClient10 = new ESignLiveAPIObjects.Field(); fieldClient10.extract = true; fieldClient10.name = 'email'; //match pdf field property name fieldClient10.type = 'INPUT'; fieldClient10.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_email = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_email.required = true; FieldValidation_email.errorMessage = 'Please enter a valid email.'; FieldValidation_email.pattern = '^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$'; fieldClient10.validation = FieldValidation_email; //text field: company ESignLiveAPIObjects.Field fieldClient11 = new ESignLiveAPIObjects.Field(); fieldClient11.extract = true; fieldClient11.name = 'company'; //match pdf field property name fieldClient11.type = 'INPUT'; fieldClient11.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_company = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_company.required = true; FieldValidation_company.errorMessage = 'Please enter a valid company.'; FieldValidation_company.pattern = '^[\\sa-zA-Z]+$'; fieldClient11.validation = FieldValidation_company; //text field: policy_number ESignLiveAPIObjects.Field fieldClient12 = new ESignLiveAPIObjects.Field(); fieldClient12.extract = true; fieldClient12.name = 'policy_number'; //match pdf field property name fieldClient12.type = 'INPUT'; fieldClient12.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_policy_number = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_policy_number.required = true; FieldValidation_policy_number.errorMessage = 'Please enter a valid policy number.'; FieldValidation_policy_number.pattern = '^[-+]?[0-9]*\\.?[0-9]*$'; fieldClient12.validation = FieldValidation_policy_number; //text field: country ESignLiveAPIObjects.Field fieldClient13 = new ESignLiveAPIObjects.Field(); fieldClient13.extract = true; fieldClient13.name = 'country'; //match pdf field property name fieldClient13.type = 'INPUT'; fieldClient13.subtype = 'TEXTFIELD'; //set validator ESignLiveAPIObjects.FieldValidation FieldValidation_country = new ESignLiveAPIObjects.FieldValidation(); FieldValidation_country.required = true; FieldValidation_country.errorMessage = 'Please enter a valid country.'; FieldValidation_country.pattern = '^[\\sa-zA-Z]+$'; fieldClient13.validation = FieldValidation_country; approvalForClient.fields = new List<ESignLiveAPIObjects.Field>{fieldClient1,fieldClient2,fieldClient3,fieldClient4,fieldClient5,fieldClient6,fieldClient7,fieldClient8,fieldClient9,fieldClient10,fieldClient11,fieldClient12,fieldClient13};
En este ejemplo, los campos de formulario se extraen del PDF. Para extraer cada campo de formulario en su PDF, tendrá que pasar el nombre exacto de su campo de formulario PDF al atributo name de un campo y habilitar el documento, así como el extracto de nivel de campo para asegurarse de que la posición y el tamaño exactos se conserven en OneSpan Sign.
La extracción de la posición solo se puede hacer al cargar su documento y solo a través de la API/SDKs.
Para crear un validador de campo, deberá pasar un tipo de validador de campo a FieldValidatorBuilder. Puede utilizar los validadores predefinidos que vienen con la API/SDK o puede crear su propio validador personalizado utilizando expresiones regulares.
El método required() hace que un campo sea obligatorio y el método withErrorMessage() personaliza el mensaje de error que aparecerá si el usuario ingresa datos de formato no válidos o si el campo requerido se deja en blanco. También puede restringir la longitud de una entrada utilizando los métodos maxLength() y minLength()
Resultados
Una vez que se envía la transacción, los campos requeridos se marcarán para que el firmante los complete. El firmante no podrá continuar hasta que haya rellenado estos campos.