FieldValidator

inline fun <V> FieldValidator(noinline block: ValidationRuleBuilder<V>.() -> Unit): FieldValidator<V>

Creates a field validator using a validation rule builder.

This function provides a convenient DSL for building field validators using predefined validation rules. The builder allows you to chain multiple validation rules together.

Usage:

val nameValidator = FieldValidator<String> {
notBlank { "Name is required" }
minLength(2) { "Name must be at least 2 characters" }
maxLength(50) { "Name must not exceed 50 characters" }
}

val emailValidator = FieldValidator<String> {
notBlank { "Email is required" }
match("^[^@]+@[^@]+\\.[^@]+$") { "Must be a valid email address" }
}

Return

A FieldValidator that applies all the specified validation rules.

Parameters

V

The type of the value being validated.

block

A lambda that builds the validation rules using ValidationRuleBuilder.