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.

CheckMeaning
RequiredA string or an integer must be present. A blank value fails. A switch cannot be required.
Letters and numbersOne format check. Letters and digits only.
Email addressOne format check. An email address.
URLOne format check. An http or https URL.
UUIDOne format check. Eight, four, four, four, and twelve hex characters.
Host nameOne format check. A host name, with no scheme and no port.
PortOne format check. A port from 1 to 65535.
DateOne format check. A calendar date, YYYY-MM-DD.
Minimum lengthThe fewest characters. This sits beside a format check.
Maximum lengthThe most characters. This sits beside a format check.
One ofA comma-separated list of choices. Spaces around the commas are ignored.
FileThe path must be a file on the machine that runs the script.
DirectoryThe path must be a directory on the machine that runs the script.
Lower boundAn integer must be at least this value.
Upper boundAn 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.