--- title: "Validation Rules for Screen Controls" slug: "validation-rules-for-screen-controls" updated: 2026-01-07T23:24:22Z published: 2026-01-07T23:24:22Z canonical: "docs.processmaker.com/validation-rules-for-screen-controls" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Validation Rules for Screen Controls Use validation rules in a control to constitute what is a valid value entered for that control. If a control that has a **Validation Rules** setting but does not contain any value or properly structured validation rule, that control automatically passes validation. If a control is hidden using **Visibility Rules**, any **Validation Rules** associated with that control are not evaluated upon submission of the Screen. ### Controls That Provide Validation The following Screen Builder controls use the validation rules: - [Line Input](/v1/docs/line-input-control) control - [Textarea](/v1/docs/textarea-control) control - [Select List](/v1/docs/select-list-control) control - [Checkbox](/v1/docs/checkbox-control) control - [Date Picker](/v1/docs/date-picker-control) control ### Create a Validation Rule Follow these steps to add a validation rule to a Screen Builder control that provides validation: 1. Access the **Variable** panel for the control while in Design mode, and then locate the **Validation Rules** setting. 2. Click the **Add Rule** button. The **Select** drop-down menu displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6dc12d62-7e64-4111-a037-a9c95a6a2687.png) 3. Select the rule that this control validates against. 4. Click **Save**. Parameters for the selected rule display. Parameter settings display which ones are required to properly configure the rule. 5. Enter the parameter settings that this control uses to validate against. See [Validation Rule Settings](/v1/docs/validation-rules-for-screen-controls#validation-rule-settings), and then locate the validation rule for its parameters. > [!NOTE] > ### Ensure Validation Fails for an Undefined Setting > > If you want a validation to fail for undefined or `''`, use the [required](/v1/docs/validation-rules-for-screen-controls#required) rule. --- ## Validation Rule Settings ### Accepted Use the `Accepted` validation rule to validate acknowledgement of this control. This is useful to validate "Terms of Service" acceptance. Follow these steps to configure the parameter(s) for an `Accepted` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Accepted**. The `Accepted` validation rule has no parameters. ### After Date Use the `After Date` validation rule to validate that the value entered into this control must be after (later than) a specified date. If the entered value is in datetime format, then the time format is ignored. The value entered into this control must be in one of the following formats: - **Date format**: `YYYY-MM-DD`. Example: `"2020-07-01"` - **Datetime format:** `YYYY-MM-DD HH:MM:SS`. Example: `"2020-07-01 14:25:15"` Follow these steps to configure the parameter(s) for an `After Date` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **After Date**. The **Date** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/7bd8c3a9-1395-4dd0-aa5f-a88b05cbc1c3.png) 3. In the **Date** setting, enter the date in date format that this control's value must be after (later than). This is a required setting. ### After Or Equal To Date Use the `After or Equal to Date` validation rule to validate that the value entered into this control must be the same or after (later than) a specified date. If the entered value is in datetime format, then the time format is ignored. The value entered into this control must be in one of the following formats: - **Date format**: `YYYY-MM-DD`. Example: `"2020-07-01"` - **Datetime format:** `YYYY-MM-DD HH:MM:SS`. Example: `"2020-07-01 14:25:15"` Follow these steps to configure the parameter(s) for an `After or Equal to Date` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **After or Equal to Date**. The **Date** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/37629bd3-2572-4a9c-aaf0-b13af61c6745.png) 3. In the **Date** setting, enter the date in date format that this control's value must be the same or after (later than). This is a required setting. ### Alpha Use the `Alpha` validation rule to validate that the value entered into this control must be contain only alphabetic characters. Follow these steps to configure the parameter(s) for an `Alpha` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Alpha**. The `Alpha` validation rule has no parameters. ### Alpha-Numeric Use the `Alpha-Numeric` validation rule to validate that the value entered into this control must contain only alphanumeric characters. Follow these steps to configure the parameter(s) for an `Alpha-Numeric` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Alpha-Numeric**. The `Alpha-Numeric` validation rule has no parameters. ### Before Date Use the `Before Date` validation rule to validate that the value entered into this control must be before (earlier than) a specified date. If the entered value is in datetime format, then the time format is ignored. The value entered into this control must be in one of the following formats: - **Date format**: `YYYY-MM-DD`. Example: `"2020-07-01"` - **Datetime format:** `YYYY-MM-DD HH:MM:SS`. Example: `"2020-07-01 14:25:15"` Follow these steps to configure the parameter(s) for a `Before Date` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Before Date**. The **Date** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5baed09f-e23d-4c9e-a4bc-1022492b6ce8.png) 3. In the **Date** setting, enter the date in date format that this control's value must be before (earlier than). This is a required setting. #### `Before Date` Validation Rule Examples Basic ValidationValidation with Dynamic Variables [Embedded content](https://demos.processmaker.com/embed/YN8UsYEBYSRk7aiASLYlc?embed_v=2) [Embedded content](https://demos.processmaker.com/embed/Nkg-wzC-EuyFNFV9ppWAH?embed_v=2&utm_source=embed) ### Before Or Equal To Date Use the `Before or Equal to Date` validation rule to validate that the value entered into this control must be the same or before (earlier than) a specified date. If the entered value is in datetime format, then the time format is ignored. The value entered into this control must be in one of the following formats: - **Date format**: `YYYY-MM-DD`. Example: `"2020-07-01"` - **Datetime format:** `YYYY-MM-DD HH:MM:SS`. Example: `"2020-07-01 14:25:15"` Follow these steps to configure the parameter(s) for a `Before or Equal to Date` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Before or Equal to Date**. The **Date** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/54b785d1-52ea-4224-ada7-5e43e241c59b.png) 3. In the **Date** setting, enter the date in date format that this control's value must be the same or before (earlier than). This is a required setting. ### Between Min & Max Use the `Between Min & Max` validation rule to validate that the numerical value that this control contains is between the specified minimum value and a maximum value. The `Between Min & Max` validation rule evaluates the following: - integers - file sizes The `Between Min & Max` validation rule does not evaluate the number of characters in a text, but only the value of an entered number. Use one or both of the following to validate the number of characters in a text: - [Max Length](/v1/docs/validation-rules-for-screen-controls#max-length) - [Min Length](/v1/docs/validation-rules-for-screen-controls#min-length) Furthermore, the `Between Min & Max` validation rule does not evaluate calendar dates, such as when an entered value in that control is between two dates. Use any of the following to validate date-related values: - [After Date](/v1/docs/validation-rules-for-screen-controls#after-date) - [After or Equal to Date](/v1/docs/validation-rules-for-screen-controls#after-or-equal-to-date) - [Before Date](/v1/docs/validation-rules-for-screen-controls#before-date) - [Before or Equal to Date](/v1/docs/validation-rules-for-screen-controls#before-or-equal-to-date) Follow these steps to configure the parameter(s) for a `Between Min & Max` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Between Min & Max**. The **Min** and **Max** parameter settings display. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/11a7b16a-6ad6-4525-85a8-ff43e8ef742c.png) 3. In the **Min** parameter setting, enter the numeric value that this control's value must be equal to or no lower than. This is a required setting. 4. In the **Max** parameter setting, enter the numeric value that this control's value must be equal to or no greater than. This is a required setting. ### Date Use the `Date` validation rule to validate that the value entered into this control is in date or datetime format. One of the following formats validates that the entered value is a date: - **Date format**: `YYYY-MM-DD`. Example: `"2020-07-01"` - **Datetime format:** `YYYY-MM-DD HH:MM:SS`. Example: `"2020-07-01 14:25:15"` Follow these steps to configure the parameter(s) for an `Date` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Date**. The `Date` validation rule has no parameters. ### Email Use the `Email` validation rule to validate that the value entered into this control is formatted as an email address. Follow these steps to configure the parameter(s) for an `Email` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Email**. The `EMail` validation rule has no parameters. ### In Use the `In` validation rule to validate that the value entered into this control exactly matches the given parameter setting. The validation rule evaluates the entire value entered in the control and considers case-sensitivity and empty spaces. The control's scope of evaluation may be within an array or a string. See `In` Validation Rule Examples. Follow these steps to configure the parameter(s) for an `In` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **In**. The **Values** parameter setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e0ea53b1-126d-4a05-a334-537cb431b83c.png) 3. In the **Values** parameter setting, enter the value to evaluate if it exactly matches the control's selected or entered value. This is a required setting. > Format a list in the **Values** parameter setting by separating the values with commas only, no spaces: > > `value1,value2,value3` #### `In` Validation Rule Examples Entered value under evaluation is within an arrayEntered value under evaluation is a string The following JSON Request data represents the JSON array for a [Select List](/v1/docs/select-list-control) control under evaluation. ```json doctors = [                    {id: 1, name: 'Adam Ardin', gender: 'male'},                    {id: 2, name: 'Amanda Creek', gender: 'female'},                    {id: 3, name: 'Lucy Morales', gender: 'female'},                    {id: 4, name: 'Mindy Smith', gender: 'female'},                    {id: 5, name: 'Toby Tomlinson', gender: 'male'}                    ] ``` The Select List control contains the following settings: - This control is configured to return the value of the property `name`. Therefore, the doctors' names display as options in the Select List control. - This control has an `In` validation rule to evaluate if `Mindy Smith` is included in that control's selection. If the Request participant selects the **Mindy Smith** option from that Select List control, then that control passes validation. A Line Input control under evaluation has the following validation rule: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5455b3d2-e45b-45b7-89fc-d3d83274a9b9.png) The validation rule is evaluated as follows: | Entered Value | Validation Rule Evaluation | | --- | --- | | NA | True | | North America | True | | NA,North America | False | | This is North America | False | | Niagara Falls, NA | False | ### Max Length Use the `Max Length` validation rule to validate that the value entered into this control is no greater than a specified length. The `Max Length` validation rule evaluates the following: - a maximum number of characters in a string - a maximum integer value - a maximum file size The `Max Length` validation rule does not evaluate calendar dates, such as when an entered value in that control is no later than a particular date. Follow these steps to configure the parameter(s) for a `Max Length` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Max Length**. The **Max Input** parameter setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/d2d7953f-b264-4485-a1e6-c16e25122c67.png) 3. In the **Max Input** parameter setting, enter the numeric value that this control's value must be equal to or no greater than. This is a required setting. ### Min Length Use the `Min Length` validation rule to validate that the value entered into this control is no less than a specified length. The `Min Length` validation rule evaluates the following: - a minimum number of characters in a string - a minimum integer value - a maximum file size The `Min Length` validation rule does not evaluate calendar dates, such as when an entered value in that control is no earlier than a particular date. Follow these steps to configure the parameter(s) for a `Min Length` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Min Length**. The **Min Input** parameter setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/49e7037c-e4ab-455d-914b-7f259fa73c4d.png) 3. In the **Min Input** parameter setting, enter the numeric value that this control's value must be equal to or no less than. This is a required setting. ### Not In Use the `Not In` validation rule to validate that the value entered into this control does not match the given parameter setting. The validation rule evaluates the entire value entered in the control and considers case-sensitivity and empty spaces. The control's scope of evaluation may be within an array or a string. See `Not In` Validation Rule Examples. Follow these steps to configure the parameter(s) for a `Not In` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Not In**. The **Values** parameter setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/73e3b68f-9378-4a86-bfcd-d714184cb49e.png) 3. In the **Values** parameter setting, enter the value to evaluate if it is not within the control's selected or entered value. This is a required setting. > Format a list in the **Values** parameter setting by separating the values with commas only, no spaces: > > `value1,value2,value3` #### `Not In` Validation Rule Examples Entered value under evaluation is not within an arEntered value under evaluation does not match a st The following JSON Request data represents the JSON array for a [Select List](/v1/docs/select-list-control) control under evaluation. ```plaintext doctors = [                    {id: 1, name: 'Adam Ardin', gender: 'male'},                    {id: 2, name: 'Amanda Creek', gender: 'female'},                    {id: 3, name: 'Lucy Morales', gender: 'female'},                    {id: 4, name: 'Mindy Smith', gender: 'female'},                    {id: 5, name: 'Toby Tomlinson', gender: 'male'}                    ] ``` The Select List control contains the following settings: - This control is configured to return the value of the property `name`. Therefore, the doctors' names display as options in the Select List control. - This control is configured to allow multiple selections. - This control has a `Not In` validation rule to evaluate if `Mindy Smith` is not included in that control's selection. If the Request participant selects multiple options from that Select List control, but the **Mindy Smith** option is not among them, then that control passes validation. A Line Input control under evaluation has the following Validation Rule: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/614ec63c-0bf5-4189-8ee0-730aed7e8f55.png) The Validation Rule is evaluated as follows: | Entered Value | Validation Rule evaluation | | --- | --- | | NA | False | | North America | False | | NA,North America | True | | This is North America | True | | Niagara Falls, NA | True | ### Regex Use the `Regex` validation rule to validate that this control's value contains content as determined by a specified regular expression. A regular expression, abbreviated as regex, is a sequence of letters and symbols that defines a logical search pattern from which to search this control's content to validate that strings meet the defined pattern. This validation rule is useful to parse the contents of a control's value even if that control's Request variable contains programming code such as HTML or JSON. > Need a primer on regular expression syntax? See this [primer](https://setapp.com/how-to/regex-quick-start), and then use [RegExr](https://regexr.com/) to learn, build, and test your regular expressions. Follow these steps to configure the parameter(s) for a `Regex` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Regex**. The **Regex Pattern** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/ef244410-926b-40f2-9cf3-e883b1c78046.png) 3. In the **Regex Pattern** setting, enter the regular expression from which to validate this control's value contains that content. This is a required setting. ### Required Use the `Required` validation rule to validate that this control has a value and is not empty. A control constitutes as having no value in the following circumstances: - The value is `null`. - The value is an empty string that contains no characters. - The value is an empty JSON array or empty JSON object. - The value is an uploaded file with no path. Follow these steps to configure the parameter(s) for a `Required` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Required**. The `Required` validation rule has no parameters. ### Required If Use the `Required If` validation rule to validate that this control has a value and is not empty if another control in that [Screen](/v1/docs/screens) page contains a specific value. If the control being monitored contains a specific value, then the control under evaluation is required. See `Required If` Validation Rule Examples. The `Required If` validation rule is the inverse of the `Required Unless` rule. A control constitutes as having no value in the following circumstances: - The value is `null`. - The value is an empty string that contains no characters. - The value is an empty JSON array or empty JSON object. - The value is an uploaded file with no path. Follow these steps to configure the parameter(s) for a `Required If` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Required If**. The **Variable Name** and **Variable Value** parameter settings display. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c8a6cd4f-5df7-4a58-a6db-bf37411c0533.png) 3. In the **Variable Name** parameter setting, enter the **Variable Name** setting value to monitor for its value. This is a required setting. 4. In the **Variable Value** parameter setting, enter the value that must be entered into that control to make this control required. This is a required setting. #### `Required If` Validation Rule Examples First tabSecond tab A Request participant enters information into a Task for a job application. If that Task assignee selects from a [Select List](/v1/docs/select-list-control) control in which country that person lives. If the Task assignee selects the option **United States** (US), then another Select List control becomes required to select from which US state that person lives. This example demonstrates depending controls: one control depends on another to be required. This example also demonstrates how a control depends on the specific value of another. See the following `.json` files below for this example: - **List of countries in JSON format:** Countries for Select List Control "Required If" Validation Example - **List of US states and territories in JSON format:** US States for Select List Control "Required If" Validation Example Follow these steps to implement this example: 1. Add a [Select List control to your Screen](/v1/docs/select-list-control#add-the-control-to-a-processmaker-screen), and then [configure its settings](/v1/docs/select-list-control#inspector-settings). Make note of its **Variable Name** setting value you set for that control. This control displays the list of countries as its options. 2. [Provide the options for this Select List control](/v1/docs/select-list-control#provide-options). In doing so, edit options as JSON: 1. Download the file below **Countries for Select List Control "Required If" Validation Example**. 2. Review the JSON data. Notice that each JSON object contains the following: - **content:** A property called `content` represents the label for each option (in this example, a country name). The label for each Select List option may contain any string as long as it is in the `content` property of each JSON object. - **value:** A property called `value` that contains a numeric value that corresponds with each label option. The `value` property may contain any string as long as it is in the `value` property of each JSON object. Notice that the JSON object that contains the `content` property value of `United States` has a value property of `232`. In this example, if the option corresponding with the `232` value is selected, then the second Select List control is required. 3. Copy this file's JSON data. 4. Paste it into the **JSON Data** setting. 3. Add a second Select List control to the same Screen page, and then configure its settings. This control displays the list of US states and territories as its options, and represents the required control if a specific setting in the first Select List control contains a specific value. 4. [Provide the options for this Select List control](/v1/docs/select-list-control#provide-options). In doing so, edit options as JSON: 1. Download the file below **US States for Select List Control "Required If" Validation Example**. 2. Copy this file's JSON data. 3. Paste it into the **JSON Data** setting. 5. Add a `Required If` [validation rule](/v1/docs/textarea-control#validation-rules) to the second Select List control that displays the list of US states and territories. 6. In the **Variable Name** setting of the `Required If` validation rule, enter the **Variable Name** setting value for the first Select List control that displays the list of countries as its options. 7. In the **Variable Value** setting of the `Required If` validation rule, enter `232`, which is the `value` property value that corresponds with the `content` property value `United States`. 8. [Add a Submit Button control](/v1/docs/submit-button-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/submit-button-control#inspector-settings). [](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/countries(1).json)countries21.74 KB[](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/countries(1).json)[](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/states(1).json)states5.15 KB[](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/states(1).json) A Request participant enters information into a Task for a job application. If that Task assignee selects the **Yes** option from a [Select List](/v1/docs/select-list-control) control labeled **Have you been convicted of a felony within the past 10 years?**, a [Textarea](/v1/docs/textarea-control) control labeled **Describe your felony conviction.** becomes required. The Task assignee cannot submit the form without describing the felony conviction(s). This example demonstrates depending controls: one control depends on another to be required. This example also demonstrates how a control depends on the specific value of another. Follow these steps to implement this example: 1. Add a [Select List control to your Screen](/v1/docs/select-list-control#add-the-control-to-a-processmaker-screen), and then [configure its settings](/v1/docs/checkbox-control#inspector-settings). Make note of its **Variable Name** setting value you set for that control. 2. [Provide the options for this Select List control](/v1/docs/select-list-control#provide-options). In doing so, provide the following values: The **Value** settings represent the values the Textarea control evaluates to determine if that control is required; these settings may contain any value, not necessarily Boolean values. The **Content** settings represent the label for each option. In this example, if the option corresponding with the `1` value is selected, then the Textarea control is required. - **No:** - **Value:** 0 - **Content:** No, I do not have a felony conviction within the past 10 years. - **Yes:** - **Value:** 1 - **Content:** Yes, I have a felony conviction within the past 10 years. 3. [Add a Textarea control](/v1/docs/textarea-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/textarea-control#inspector-settings). 4. Add a `Required If` [validation rule](/v1/docs/textarea-control#validation-rules) to the Textarea control. 5. In the **Variable Name** setting of the `Required If` validation rule, enter the **Variable Name** setting value for the Select List control. 6. In the **Variable Value** setting of the `Required If` validation rule, enter `1`. 7. [Add a Submit Button control](/v1/docs/submit-button-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/submit-button-control#inspector-settings). ### Required Unless Use the `Required Unless` validation rule to validate that this control has a value and is not empty unless another control in that [Screen](/v1/docs/screens) page contains a specific value. If the control being monitored for its value has a specific value, then the control under evaluation is not required. See [Required Unless Validation Rule Examples](/v1/docs/validation-rules-for-screen-controls#required-unless-validation-rule-examples). The `Required Unless` validation rule is the inverse of the `Required If` rule. A control constitutes as having no value in the following circumstances: - The value is `null`. - The value is an empty string that contains no characters. - The value is an empty JSON array or empty JSON object. - The value is an uploaded file with no path. Follow these steps to configure the parameter(s) for a `Required Unless` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Required Unless**. The **Variable Name** and **Variable Value** parameter settings display. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/70833a20-a0bb-4a09-8998-2a394ac7b447.png) 3. In the **Variable Name** parameter setting, enter the **Variable Name** setting value to monitor for its value. This is a required setting. 4. In the **Variable Value** parameter setting, enter the value that must be entered into that control to exempt this control from being required. This is a required setting. #### `Required Unless` Validation Rule Examples Control depends on a Select List option: Example 1Control depends on a Select List option: Example 2 A Request participant enters information for a Task regarding United States (US) federal taxes. If that Task assignee selects from a [Select List](/v1/docs/select-list-control) control that person lives in California, then that person is exempt from a federal tax credit. If the Task assignee selects the option **California**, then a [Line Input](/v1/docs/line-input-control) control becomes required to enter tax information. If any other option is selected, then the Line Input control is not required. This example demonstrates depending controls: one control depends on another to be required. This example also demonstrates how a control depends on the specific value of another. See the following `.json` file below for this example: **US States for Select List Control "Required Unless" Validation Example**. Follow these steps to implement this example: 1. Add a [Select List control to your Screen](/v1/docs/select-list-control#add-the-control-to-a-processmaker-screen), and then [configure its settings](/v1/docs/select-list-control#inspector-settings). Make note of its **Variable Name** setting value you set for that control. This control displays the list of US states and territories as its options. 2. [Provide the options for this Select List control](/v1/docs/select-list-control#provide-options). In doing so, edit options as JSON: 1. Download the file below **US States for Select List Control "Required Unless" Validation Example**. 2. Review the JSON data. Notice that each JSON object contains the following: - **content:** A property called `content` represents the label for each option (in this example, a US state or territory). The label for each Select List option may contain any string as long as it is in the `content` property of each JSON object. - **value:** A property called `value` that contains a numeric value that corresponds with each label option. The `value` property may contain any string as long as it is in the `value` property of each JSON object. Notice that the JSON object that contains the `content` property value of `California` has a value property of `6`. In this example, if the option corresponding with the `6` value is selected, then the Line Input control is not required. 3. Copy this file's JSON data. 4. Paste it into the **JSON Data** setting. 3. Add a Line Input control to the same Screen page, and then configure its settings. The Request participant enters into this control required information unless a specific setting in the Select List control contains a specific value. 4. Add a `Required Unless` [validation rule](/v1/docs/line-input-control#validation-rules) to the Line Input control control. 5. In the **Variable Name** setting of the `Required Unless` validation rule, enter the **Variable Name** setting value for the Select List control that displays the list of US states and territories as its options. 6. In the **Variable Value** setting of the `Required Unless` validation rule, enter `6`, which is the `value` property value that corresponds with the `content` property value `California`. 7. [Add a Submit Button control](/v1/docs/submit-button-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/submit-button-control#inspector-settings). [](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/states(2).json)states5.15 KB[](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/states(2).json) A Request participant enters information for a Task that solicits viewer feedback for a streaming video. The organization soliciting viewer feedback is particularly interested in viewer feedback for a particular demographic: if that viewer indicates that she or he is in a specific age group, then that person does is not required to provide feedback on a particular question. If that Task assignee selects from a [Select List](/v1/docs/select-list-control) control the option **65 years old or older**, then a [Textarea](/v1/docs/textarea-control) control is not required. If any other option is selected, then the Textarea control is required. This example demonstrates depending controls: one control depends on another to be required. This example also demonstrates how a control depends on the specific value of another. Follow these steps to implement this example: 1. Add a [Select List control to your Screen](/v1/docs/select-list-control#add-the-control-to-a-processmaker-screen), and then [configure its settings](/v1/docs/checkbox-control#inspector-settings). Make note of its **Variable Name** setting value you set for that control. 2. [Provide the options for this Select List control](/v1/docs/select-list-control#provide-options). In doing so, provide the following values that represent demographic age groups: The **Value** settings represent the values the Textarea control evaluates to determine if that control is required; these settings may contain any value, not necessarily Boolean values. The **Content** settings represent the label for each option. In this example, if the option corresponding with the `4` value is selected, then the Textarea control is not required. - **Option 1:** - **Value:** 1 - **Content:** 18 years old or younger - **Option 2:** - **Value:** 2 - **Content:** 19 to 35 years old - **Option 3:** - **Value:** 3 - **Content:** 36 to 64 years old - **Option 4:** - **Value:** 4 - **Content:** 65 years old or older 3. [Add a Textarea control](/v1/docs/textarea-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/textarea-control#inspector-settings). 4. Add a `Required Unless` [validation rule](/v1/docs/textarea-control#validation-rules) to the Textarea control. 5. In the **Variable Name** setting of the `Required Unless` validation rule, enter the **Variable Name** setting value for the Select List control. 6. In the **Variable Value** setting of the `Required Unless` validation rule, enter `4`. 7. [Add a Submit Button control](/v1/docs/submit-button-control#add-the-control-to-a-processmaker-screen) to the same Screen page, and then [configure its settings](/v1/docs/submit-button-control#inspector-settings). ### Same Use the `Same` validation rule to validate that the value entered into this control matches the value of a specified control. Follow these steps to configure the parameter(s) for a `Same` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **Same**. The **Values** parameter setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e19adfe2-e0f0-49b0-a169-f3420391197a.png) 3. In the **Variable Name** parameter setting, enter the **Variable Name** setting value to evaluate if the control under evaluation matches its value. This is a required setting. ### URL Use the `URL` validation rule to validate that the value entered into this control is formatted as a Uniform Resource Locator (URL). Follow these steps to configure the parameter(s) for a `URL` validation rule: 1. [Create a validation rule for the control](/v1/docs/validation-rules-for-screen-controls#create-a-validation-rule). 2. From the **Select** drop-down menu in the **Validation Rules** setting, select **URL**. The `URL` validation rule has no parameters.