stepperInputValidator
Validates the input parameters for a stepper operation.
Checks that the step is positive and that both ends of the range are multiples of the step. A stepper increments and decrements by a fixed step, so the range bounds must land on a step.
Parameters
step
The step value used for incrementing or decrementing. Must be a positive integer.
range
The range of values allowed, represented as an IntRange. Both the start and end of this range must be multiples of the step value.
Throws
If the step is not positive, or if the start or end of the range are not multiples of the step. The exception message will indicate the specific violation.
Example Usage:
// Valid input: step of 2, range from 0 to 10 (both multiples of 2)
stepperInputValidator(2, 0..10)
// Invalid input: step of -1 (not positive)
try {
stepperInputValidator(-1, 0..10)
} catch (e: IllegalArgumentException) {
println(e.message) // Output: A step can only be a positive integer, but was -1
}
// Invalid input: range start 1 (not multiple of 2)
try {
stepperInputValidator(2, 1..10)
} catch (e: IllegalArgumentException) {
println(e.message) // Output: The min range must be a multiple of the step, but has 1 remaining
}
// Invalid input: range end 9 (not multiple of 2)
try {
stepperInputValidator(2, 0..9)
} catch (e: IllegalArgumentException) {
println(e.message) // Output: The max range must be a multiple of the step, but has 1 remaining
}Content copied to clipboard