ControlValidator

abstract class ControlValidator<T : Any>

Abstrakcyjna klasa bazowa dla wszystkich walidatorów kontrolek formularza.

Walidator odpowiada za:

  • Sprawdzanie widoczności kontrolek na podstawie zależności

  • Określanie wymagalności pól w zależności od warunków

  • Walidację podstawową (wymagalność, pusty stan)

  • Walidację specyficzną dla typu kontrolki

Każdy typ kontrolki powinien mieć własny walidator dziedziczący z tej klasy i implementujący metodę validateSpecific() dla specyficznych reguł walidacji.

Parameters

T

typ danych przechowywanych przez kontrolkę

Inheritors

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
protected lateinit var errorManager: ErrorManager
Link copied to clipboard
protected lateinit var formSchema: FormSchema
Link copied to clipboard
protected lateinit var formState: FormState

Functions

Link copied to clipboard
internal fun isControlRequired(control: Control<*>, controlContext: ControlContext): Boolean

Sprawdza czy kontrolka jest wymagana na podstawie jej konfiguracji i zależności.

Link copied to clipboard
internal fun isControlVisible(control: Control<*>, controlContext: ControlContext): Boolean
Link copied to clipboard
private fun isDependencyMet(dependency: ControlDependency<*>, controlContext: ControlContext): Boolean
Link copied to clipboard
internal fun isValueEmpty(value: Any?): Boolean

Sprawdza czy wartość jest pusta lub nie została wypełniona.

Link copied to clipboard
private fun resolveDependencyControlName(dependency: ControlDependency<*>, controlContext: ControlContext): String

Rozwiązuje nazwę kontrolki dla zależności, uwzględniając scope (Local/Global)

Link copied to clipboard
internal open fun setupFormReferences(formState: FormState, formSchema: FormSchema, errorManager: ErrorManager)

Ustawia referencje do komponentów formularza dla walidatora.

Link copied to clipboard
open fun validate(controlContext: ControlContext, state: ControlState<*>, control: Control<*>)

Główna metoda walidacji kontrolki.

Link copied to clipboard
abstract fun validateSpecific(controlContext: ControlContext, state: ControlState<*>)

Metoda walidacji specyficznej dla typu kontrolki.