How to Add Validation to Textbox Field

When using the textbox form field, you have the option to include validation based on your needs, which will specify the type of text that signers can enter in the field. The available options are only numbers, regex, currency, email, and none.

Only Numbers: Signers can only enter numeric numbers in the textbox area.

Regex: Customize the validation by selecting the regex option, entering the desired regex value, and adding a description to inform signers of the needed format.

Email: Restrict email input to the textbox area.

Currency: The signer can only input currency values in the textbox area.

The following sample code snippet demonstrates how to add only number validation to a textbox field:

Code snippet

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Message={your message}' \
  -F 'Signers={
    "name": "starvritsa",
    "emailAddress": "[email protected]",
    "privateMessage": "sign",
    "authenticationType": "None",
    "deliveryMode": "Email",
    "signerType": "Signer", 
 
    "formFields": [
        {
            "id": "textbox1",
            "name": "textbox1",
            "fieldType": "Textbox",
            "pageNumber": 1,
            "bounds": {
                "x": 140,
                "y": 140,
                "width": 82,
                "height": 32
            },
            "isRequired": true,
            "validationType": "NumbersOnly"
        }
    ]
}' \
  -F 'Files=@{Your file path};type=application/pdf' \
  -F 'Title={Document title}' \

var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
 
var documentFilePath = new DocumentFilePath
{
   ContentType = "application/pdf",
   FilePath = "{file path}",
};
 
var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};
 
var signatureField = new FormField(
   id: "sign",
   isRequired: true,
   type: Type.Signature,
   pageNumber: 1,
   bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50),
    validationType: "NumbersOnly");

var formFieldCollections = new List<FormField>()
{
    signatureField
};
 
var signer = new DocumentSigner(
  signerName: "David",
  signerType: SignerType.Signer,
  signerEmail: "[email protected]",
  formFields: formFieldCollections,
  locale: Locales.EN);
 
var documentSigners = new List<DocumentSigner>()
{
    signer
};
 
var sendForSign = new SendForSign()
{
   Message = "please sign this",
   Title = "Agreement",
   Signers = documentSigners,
   Files = filesToUpload,
 
};
var documentCreated = documentClient.SendDocument(sendForSign);


import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
        title = "Document SDK API",
        document_title = "SDK Document Test case",
        description = "Testing document from SDK integration test case", 
        files = ["YOUR_FILE_PATH"],
        signers = [
            boldsign.DocumentSigner(
                name = "Hanky",
                emailAddress = "[email protected]",
                signerOrder = 1,
                signerType = "Signer",
                formFields = [
                    boldsign.FormField(
                        name = "TextBox",
                        fieldType = "TextBox",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150),
                        validationType = "NumbersOnly"
                    )
                ]
            )
        ]
    )
    
    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign};

$config = new Configuration();
$config->setHost("https://api.boldsign.com")
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$form_field = new FormField();
$form_field->setName('TextBox');
$form_field->setFieldType('TextBox');
$form_field->setPageNumber(1);
$form_field->setIsRequired(true);
$bounds = new Rectangle();
$bounds->setX(100);
$bounds->setY(100);
$bounds->setWidth(200);
$bounds->setHeight(50);
$form_field->setBounds($bounds);
$form_field->setValidationType('NumbersOnly');

$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$form_field]);

$send_for_sign = new SendForSign();
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setFiles(['YOUR_FILE_PATH']);
$send_for_sign->setSigners([$document_signer]);

$document_created = $document_api->sendDocument($send_for_sign);
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);

FormField formField = new FormField();
formField.setName("TextBox");
formField.setFieldType(FormField.FieldTypeEnum.TEXT_BOX);
formField.setPageNumber(1);
formField.setIsRequired(true);
formField.setValidationType(FormField.ValidationTypeEnum.NUMBERS_ONLY);
Rectangle bounds = new Rectangle().x(50f).y(50f).width(100f).height(150f);
formField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(formField));

SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("SDK Document Test case");
sendForSign.setFiles(Arrays.asList(new File("YOUR_FILE_PATH")));
sendForSign.setSigners(Arrays.asList(signer));

DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
import * as boldsign from 'boldsign';
import * as fs from 'fs';

const documentApi = new boldsign.DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const sendForSign = new boldsign.SendForSign();
sendForSign.title = 'SDK Document Test case';
sendForSign.files = fs.createReadStream("YOUR_FILE_PATH");

const signer = new boldsign.DocumentSigner();
signer.name = 'Hanky';
signer.emailAddress = '[email protected]';
signer.signerOrder = 1;

const formField = new boldsign.FormField();
formField.name = 'TextBox';
formField.fieldType = boldsign.FormField.FieldTypeEnum.TextBox;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = new boldsign.Rectangle();
formField.bounds.x = 100;
formField.bounds.y = 100;
formField.bounds.width = 200;
formField.bounds.height = 50;
formField.validationType = boldsign.FormField.ValidationTypeEnum.NumbersOnly;

signer.formFields = [formField];
sendForSign.signers = [signer];

const result = documentApi.sendDocument(sendForSign);

The following sample code snippet demonstrates how to add Email validation to a textbox field:

Code snippet

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Message={your message}' \
  -F 'Signers={
    "name": "starvritsa",
    "emailAddress": "[email protected]",
    "privateMessage": "sign",
    "authenticationType": "None",
    "deliveryMode": "Email",
    "signerType": "Signer", 
 
    "formFields": [
        {
            "id": "textbox1",
            "name": "textbox1",
            "fieldType": "Textbox",
            "pageNumber": 1,
            "bounds": {
                "x": 140,
                "y": 140,
                "width": 82,
                "height": 32
            },
            "isRequired": true,
            "validationType": "EmailAddress"
        }
    ]
}' \
  -F 'Files=@{Your file path};type=application/pdf' \
  -F 'Title={Document title}' \

var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
 
var documentFilePath = new DocumentFilePath
{
   ContentType = "application/pdf",
   FilePath = "{file path}",
};
 
var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};
 
var signatureField = new FormField(
   id: "sign",
   isRequired: true,
   type: Type.Signature,
   pageNumber: 1,
   bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50),
    validationType: "EmailAddress");

var formFieldCollections = new List<FormField>()
{
    signatureField
};
 
var signer = new DocumentSigner(
  signerName: "David",
  signerType: SignerType.Signer,
  signerEmail: "[email protected]",
  formFields: formFieldCollections,
  locale: Locales.EN);
 
var documentSigners = new List<DocumentSigner>()
{
    signer
};
 
var sendForSign = new SendForSign()
{
   Message = "please sign this",
   Title = "Agreement",
   Signers = documentSigners,
   Files = filesToUpload,
 
};
var documentCreated = documentClient.SendDocument(sendForSign);

import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
        title = "Document SDK API",
        document_title = "SDK Document Test case",
        description = "Testing document from SDK integration test case", 
        files = ["YOUR_FILE_PATH"],
        signers = [
            boldsign.DocumentSigner(
                name = "Hanky",
                emailAddress = "[email protected]",
                signerOrder = 1,
                signerType = "Signer",
                formFields = [
                    boldsign.FormField(
                        name = "TextBox",
                        fieldType = "TextBox",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150),
                        validationType = "EmailAddress"
                    )
                ]
            )
        ]
    )
    
    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign};

$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$form_field = new FormField();
$form_field->setName('TextBox');
$form_field->setFieldType('TextBox');
$form_field->setPageNumber(1);
$form_field->setIsRequired(true);
$bounds = new Rectangle([x => 50, y => 50, width => 100, height => 150]);
$form_field->setBounds($bounds);
$form_field->setValidationType('EmailAddress');

$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$form_field]);

$send_for_sign = new SendForSign();
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setFiles(['YOUR_FILE_PATH']);
$send_for_sign->setSigners([$document_signer]);

$document_created = $document_api->sendDocument($send_for_sign);

ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);

FormField formField = new FormField();
formField.setName("TextBox");
formField.setFieldType(FormField.FieldTypeEnum.TEXT_BOX);
formField.setPageNumber(1);
formField.setIsRequired(true);
formField.setValidationType(FormField.ValidationTypeEnum.EMAIL_ADDRESS);
Rectangle bounds = new Rectangle().x(50f).y(50f).width(100f).height(150f);
formField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(formField));

SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("SDK Document Test case");
sendForSign.setFiles(Arrays.asList(new File("YOUR_FILE_PATH")));
sendForSign.setSigners(Arrays.asList(signer));

DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
    
import * as boldsign from 'boldsign';
import * as fs from 'fs';

const documentApi = new boldsign.DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const sendForSign = new boldsign.SendForSign();
sendForSign.title = 'SDK Document Test case';
sendForSign.files = fs.createReadStream("YOUR_FILE_PATH");

const signer = new boldsign.DocumentSigner();
signer.name = 'Hanky';
signer.emailAddress = '[email protected]';
signer.signerOrder = 1;

const formField = new boldsign.FormField();
formField.name = 'TextBox';
formField.fieldType = boldsign.FormField.FieldTypeEnum.TextBox;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = new boldsign.Rectangle();
formField.bounds.x = 100;
formField.bounds.y = 100;
formField.bounds.width = 200;
formField.bounds.height = 50;
formField.validationType = boldsign.FormField.ValidationTypeEnum.EmailAddress;

signer.formFields = [formField];
sendForSign.signers = [signer];

const result = documentApi.sendDocument(sendForSign);

The following sample code snippet demonstrates how to add Currency validation to a textbox field:

Code snippet

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Message={your message}' \
  -F 'Signers={
    "name": "starvritsa",
    "emailAddress": "[email protected]",
    "privateMessage": "sign",
    "authenticationType": "None",
    "deliveryMode": "Email",
    "signerType": "Signer", 
 
    "formFields": [
        {
            "id": "textbox1",
            "name": "textbox1",
            "fieldType": "Textbox",
            "pageNumber": 1,
            "bounds": {
                "x": 140,
                "y": 140,
                "width": 82,
                "height": 32
            },
            "isRequired": true,
            "validationType": "Currency"
        }
    ]
}' \
  -F 'Files=@{Your file path};type=application/pdf' \
  -F 'Title={Document title}' \

var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
 
var documentFilePath = new DocumentFilePath
{
   ContentType = "application/pdf",
   FilePath = "{file path}",
};
 
var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};
 
var signatureField = new FormField(
   id: "sign",
   isRequired: true,
   type: Type.Signature,
   pageNumber: 1,
   bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50),
    validationType: "Currency");

var formFieldCollections = new List<FormField>()
{
    signatureField
};
 
var signer = new DocumentSigner(
  signerName: "David",
  signerType: SignerType.Signer,
  signerEmail: "[email protected]",
  formFields: formFieldCollections,
  locale: Locales.EN);
 
var documentSigners = new List<DocumentSigner>()
{
    signer
};
 
var sendForSign = new SendForSign()
{
   Message = "please sign this",
   Title = "Agreement",
   Signers = documentSigners,
   Files = filesToUpload,
 
};
var documentCreated = documentClient.SendDocument(sendForSign);

import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
        title = "Document SDK API",
        document_title = "SDK Document Test case",
        description = "Testing document from SDK integration test case", 
        files = ["YOUR_FILE_PATH"],
        signers = [
            boldsign.DocumentSigner(
                name = "Hanky",
                emailAddress = "[email protected]",
                signerOrder = 1,
                signerType = "Signer",
                formFields = [
                    boldsign.FormField(
                        name = "TextBox",
                        fieldType = "TextBox",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150),
                        validationType = "Currency"
                    )
                ]
            )
        ]
    )
    
    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign};

$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$form_field = new FormField();
$form_field->setName('TextBox');
$form_field->setFieldType('TextBox');
$form_field->setPageNumber(1);
$form_field->setIsRequired(true);
$bounds = new Rectangle();
$bounds->setX(50);
$bounds->setY(50);
$bounds->setWidth(100);
$bounds->setHeight(150);
$form_field->setBounds($bounds);
$form_field->setValidationType('Currency');

$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$form_field]);

$send_for_sign = new SendForSign();
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setFiles(['YOUR_FILE_PATH']);
$send_for_sign->setSigners([$document_signer]);

$document_created = $document_api->sendDocument($send_for_sign);
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);

FormField formField = new FormField();
formField.setName("TextBox");
formField.setFieldType(FormField.FieldTypeEnum.TEXT_BOX);
formField.setPageNumber(1);
formField.setIsRequired(true);
formField.setValidationType(FormField.ValidationTypeEnum.CURRENCY);
Rectangle bounds = new Rectangle().x(50f).y(50f).width(100f).height(150f);
formField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(formField));

SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("SDK Document Test case");
sendForSign.setFiles(Arrays.asList(new File("YOUR_FILE_PATH")));
sendForSign.setSigners(Arrays.asList(signer));

DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);

import * as boldsign from 'boldsign';
import * as fs from 'fs';

const documentApi = new boldsign.DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const sendForSign = new boldsign.SendForSign();
sendForSign.title = 'SDK Document Test case';
sendForSign.files = fs.createReadStream("YOUR_FILE_PATH");
const signer = new boldsign.DocumentSigner();
signer.name = 'Hanky';
signer.emailAddress = '[email protected]';
signer.signerOrder = 1;

const formField = new boldsign.FormField();
formField.name = 'TextBox';
formField.fieldType = boldsign.FormField.FieldTypeEnum.TextBox;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = new boldsign.Rectangle();
formField.bounds.x = 50;
formField.bounds.y = 50;
formField.bounds.width = 100;
formField.bounds.height = 150;
formField.validationType = boldsign.FormField.ValidationTypeEnum.Currency;

signer.formFields = [formField];
sendForSign.signers = [signer];

const result = documentApi.sendDocument(sendForSign);

The following sample code snippet demonstrates how to add numbers only Regex validation to a textbox field:

Code snippet

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Message={your message}' \
  -F 'Signers={
    "name": "starvritsa",
    "emailAddress": "[email protected]",
    "privateMessage": "sign",
    "authenticationType": "None",
    "deliveryMode": "Email",
    "signerType": "Signer", 
 
    "formFields": [
        {
            "id": "textbox1",
            "name": "textbox1",
            "fieldType": "Textbox",
            "pageNumber": 1,
            "bounds": {
                "x": 140,
                "y": 140,
                "width": 82,
                "height": 32
            },
            "isRequired": true,
            "validationType": "CustomRegex",
            "validationCustomRegex": "^\\d+$",
            "validationCustomRegexMessage": "Enter numbers only"
        }
    ]
}' \
  -F 'Files=@{Your file path};type=application/pdf' \
  -F 'Title={Document title}' \

var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
 
var documentFilePath = new DocumentFilePath
{
   ContentType = "application/pdf",
   FilePath = "{file path}",
};
 
var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};
 
var signatureField = new FormField(
   id: "sign",
   isRequired: true,
   type: Type.Signature,
   pageNumber: 1,
   bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50),
    validationType: "CustomRegex",
    validationCustomRegex: "^\\d+$",
    validationCustomRegexMessage: "Enter numbers only");

var formFieldCollections = new List<FormField>()
{
    signatureField
};
 
var signer = new DocumentSigner(
  signerName: "David",
  signerType: SignerType.Signer,
  signerEmail: "[email protected]",
  formFields: formFieldCollections,
  locale: Locales.EN);
 
var documentSigners = new List<DocumentSigner>()
{
    signer
};
 
var sendForSign = new SendForSign()
{
   Message = "please sign this",
   Title = "Agreement",
   Signers = documentSigners,
   Files = filesToUpload,
 
};
var documentCreated = documentClient.SendDocument(sendForSign);

import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    document_api = boldsign.DocumentApi(api_client)
    
    send_for_sign = boldsign.SendForSign(
        title = "Document SDK API",
        document_title = "SDK Document Test case",
        description = "Testing document from SDK integration test case", 
        files = ["YOUR_FILE_PATH"],
        signers = [
            boldsign.DocumentSigner(
                name = "Hanky",
                emailAddress = "[email protected]",
                signerOrder = 1,
                signerType = "Signer",
                formFields = [
                    boldsign.FormField(
                        name = "TextBox",
                        fieldType = "TextBox",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150),
                        validationType = "CustomRegex",
                        validationCustomRegex = "^\\d+$",
                        validationCustomRegexMessage = "Enter numbers only"
                    )
                ]
            )
        ]
    )
    
    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign};

$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$form_field = new FormField();
$form_field->setName('TextBox');
$form_field->setFieldType('TextBox');
$form_field->setPageNumber(1);
$form_field->setIsRequired(true);
$bounds = new Rectangle();
$bounds->setX(50);
$bounds->setY(50);
$bounds->setWidth(100);
$bounds->setHeight(150);
$form_field->setBounds($bounds);
$form_field->setValidationType('CustomRegex');
$form_field->setValidationCustomRegex('^\\d+$');
$form_field->setValidationCustomRegexMessage('Enter numbers only');

$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$form_field]);

$send_for_sign = new SendForSign();
$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setFiles(['YOUR_FILE_PATH']);
$send_for_sign->setSigners([$document_signer]);

$document_created = $document_api->sendDocument($send_for_sign);

ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(client);

FormField formField = new FormField();
formField.setName("TextBox");
formField.setFieldType(FormField.FieldTypeEnum.TEXT_BOX);
formField.setPageNumber(1);
formField.setIsRequired(true);
formField.setValidationType(FormField.ValidationTypeEnum.CUSTOM_REGEX);
formField.setValidationCustomRegex("^\\d+$");
formField.setValidationCustomRegexMessage("Enter numbers only");
Rectangle bounds = new Rectangle().x(50f).y(50f).width(100f).height(150f);
formField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
signer.setFormFields(Arrays.asList(formField));

SendForSign sendForSign = new SendForSign();
sendForSign.setTitle("SDK Document Test case");
sendForSign.setFiles(Arrays.asList(new File("YOUR_FILE_PATH")));
sendForSign.setSigners(Arrays.asList(signer));

DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
   
import * as boldsign from 'boldsign';
import * as fs from 'fs';

const documentApi = new boldsign.DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const sendForSign = new boldsign.SendForSign();
sendForSign.title = 'SDK Document Test case';
sendForSign.files = fs.createReadStream("YOUR_FILE_PATH");

const signer = new boldsign.DocumentSigner();
signer.name = 'Hanky';
signer.emailAddress = '[email protected]';
signer.signerOrder = 1;

const formField = new boldsign.FormField();
formField.name = 'TextBox';
formField.fieldType = boldsign.FormField.FieldTypeEnum.TextBox;
formField.pageNumber = 1;
formField.isRequired = true;
formField.bounds = new boldsign.Rectangle();
formField.bounds.x = 100;
formField.bounds.y = 100;
formField.bounds.width = 200;
formField.bounds.height = 50;
formField.validationType = boldsign.FormField.ValidationTypeEnum.CustomRegex;
formField.validationCustomRegex = '^\\d+$';
formField.validationCustomRegexMessage = 'Enter numbers only';

signer.formFields = [formField];
sendForSign.signers = [signer];

const result = documentApi.sendDocument(sendForSign);