Package-level declarations

Types

Link copied to clipboard
interface Field<V>

A field is a single input in a form. It has a name, a value, and a set of errors.

Link copied to clipboard
value class FieldError(val messages: List<String>)

Represents validation errors for a form field.

Link copied to clipboard
typealias FieldErrors = List<String>

Represents multiple error messages in the field.

Link copied to clipboard
interface FieldMeta

Represents metadata for an individual form field.

Link copied to clipboard
typealias FieldName = String

A type alias for field names used to uniquely identify fields within a form.

Link copied to clipboard
typealias FieldNames = Set<FieldName>

A type alias for a set of field names.

Link copied to clipboard
interface FieldOptions

Configuration options for field-level validation behavior.

Link copied to clipboard

A passthrough adapter that performs no type conversion.

Link copied to clipboard
data class FieldPolicy(val validationTrigger: FieldValidationTrigger = FieldValidationTrigger, val validationDelay: FieldValidationDelay = FieldValidationDelay())

Represents the settings for field-related policies, such as validation behavior.

Link copied to clipboard
interface FieldTypeAdapter<V, S, U>

An adapter interface for converting between different type representations of a field value.

Link copied to clipboard

Enumerates the timings when field validation is performed.

Link copied to clipboard
data class FieldValidationDelay(val onMount: Duration = Duration.ZERO, val onChange: Duration = 250.milliseconds, val onBlur: Duration = Duration.ZERO)

Represents the settings for delayed execution of field validation.

Link copied to clipboard

Defines when field validation should be triggered.

Link copied to clipboard

Defines a strategy for determining when field validation should occur.

Link copied to clipboard

Represents the timings that trigger field validation.

Link copied to clipboard
typealias FieldValidator<V> = (V) -> FieldError

A type alias for field validation functions.

Link copied to clipboard
interface FormData<T>

Represents the complete state of a form including its data and metadata.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface FormMeta

Represents metadata for a form, including field-level information and submission state.

Link copied to clipboard
interface FormOptions

Configuration options for form-level validation behavior.

Link copied to clipboard
data class FormPolicy(val field: FieldPolicy = FieldPolicy(), val submission: SubmissionPolicy = SubmissionPolicy())

Represents the settings for the overall form policy.

Link copied to clipboard
fun interface FormRule<T>

Represents a rule that can be applied to a form field.

Link copied to clipboard
typealias FormRules<T> = Map<FieldName, FormRule<T>>
Link copied to clipboard
Link copied to clipboard
class FormValidationException(val errors: FormErrors, cause: Throwable? = null) : RuntimeException

Exception used for handling validation errors during the submission process.

Link copied to clipboard
interface Submission

A submission represents the submission control of a form.

Link copied to clipboard
data class SubmissionPolicy(val preValidation: Boolean = true, val preValidationDelay: SubmissionPreValidationDelay = SubmissionPreValidationDelay())

Represents the settings for submission-related policies, such as pre-validation behavior.

Link copied to clipboard
data class SubmissionPreValidationDelay(val onMount: Duration = 200.milliseconds, val onChange: Duration = 200.milliseconds)

Represents the settings for delayed execution of pre-validation.

Properties

Link copied to clipboard

Syntax sugar representing that there are no errors in the field.

Link copied to clipboard

A constant representing no validation errors.

Functions

Link copied to clipboard
fun fieldError(vararg messages: String): FieldErrors

Creates error messages for a field.

Link copied to clipboard
fun FieldOptions(validationStrategy: FieldValidationStrategy = FieldOptions.validationStrategy, validationDelayOnMount: Duration = FieldOptions.validationDelayOnMount, validationDelayOnChange: Duration = FieldOptions.validationDelayOnChange, validationDelayOnBlur: Duration = FieldOptions.validationDelayOnBlur): FieldOptions

Creates a FieldOptions instance with the specified configuration.

Link copied to clipboard
fun FieldValidationStrategy(initial: FieldValidationMode = FieldValidationMode.Blur, next: (current: FieldValidationMode, isValid: Boolean) -> FieldValidationMode = defaultStrategy): FieldValidationStrategy

Creates a field validation strategy with the specified initial mode and transition logic.

Link copied to clipboard
inline fun <V> FieldValidator(noinline block: ValidationRuleBuilder<V>.() -> Unit): FieldValidator<V>

Creates a field validator using a validation rule builder.

Link copied to clipboard
fun FormOptions(preValidation: Boolean = FormOptions.preValidation, preValidationDelayOnMount: Duration = FormOptions.preValidationDelayOnMount, preValidationDelayOnChange: Duration = FormOptions.preValidationDelayOnChange): FormOptions

Creates a FormOptions instance with the specified configuration.