There is support for custom validations of the input passed to arguments.

val failingProp: Int by argument("-f") {
    validate("number should be positive") { it > 0 }
    validate("should be even") { it % 2 == 0 }

In this scenario, the validation will fail when the number is negative or uneven. For example -f -2 or -f 5 would not pass.

When a validation fails, it throws an exception with the given message and the actual value.