Checks
Each option has one type. The checks on that type decide if the value is allowed.
Types
A string or an integer takes a value. An integer is a whole number of at most 10 digits. Signed means a leading minus is allowed. Unsigned means it is not. A switch takes no value, so it has no checks.
The form has no box for a regular expression. You pick the checks below.
One format check
A string has at most one format check: letters and numbers, email, URL, UUID, host name, port, or date. Length, a list of choices, a file, and a directory are separate. They can sit beside that one format. An integer uses a lower bound, an upper bound, or both. Required still applies to a string or an integer.
| Check | Meaning |
|---|---|
| Required | A string or an integer must be present. A blank value fails. A switch cannot be required. |
| Letters and numbers | One format check. Letters and digits only. |
| Email address | One format check. An email address. |
| URL | One format check. An http or https URL. |
| UUID | One format check. Eight, four, four, four, and twelve hex characters. |
| Host name | One format check. A host name, with no scheme and no port. |
| Port | One format check. A port from 1 to 65535. |
| Date | One format check. A calendar date, YYYY-MM-DD. |
| Minimum length | The fewest characters. This sits beside a format check. |
| Maximum length | The most characters. This sits beside a format check. |
| One of | A comma-separated list of choices. Spaces around the commas are ignored. |
| File | The path must be a file on the machine that runs the script. |
| Directory | The path must be a directory on the machine that runs the script. |
| Lower bound | An integer must be at least this value. |
| Upper bound | An integer must be at most this value. |
When a check fails
The zip prints the reason and exits 1 before your code runs. File and directory look at the path on the machine that runs the script, not the machine that built the zip.