RepeatableValidator

Walidator dla kontrolek typu RepeatableControl.

Odpowiada za walidację kontrolek umożliwiających dodawanie wielu wierszy danych (np. lista autorów, tagów, kategorii).

Funkcjonalności:

  • Sprawdzanie unikalności wartości w określonych polach

  • Walidacja minimalnej i maksymalnej liczby elementów

Constructors

Link copied to clipboard
constructor(validationOptions: RepeatableValidation? = null)

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
Link copied to clipboard

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
private fun validateChildControls(rows: List<RepeatableRow>, control: RepeatableControl, controlContext: ControlContext)
Link copied to clipboard
Link copied to clipboard
open override fun validateSpecific(controlContext: ControlContext, state: ControlState<*>)

Waliduje unikalność wartości w wierszach kontrolki powtarzalnej. Używa globalnego stanu zamiast lokalnych stanów wierszy.

Link copied to clipboard
private fun validateUniqueness(rows: List<RepeatableRow>, options: RepeatableValidation, controlContext: ControlContext): String?