RepeatableValidator
class RepeatableValidator(val validationOptions: RepeatableValidation? = null) : ControlValidator<List<RepeatableRow>>
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
Functions
Link copied to clipboard
Sprawdza czy kontrolka jest wymagana na podstawie jej konfiguracji i zależności.
Link copied to clipboard
Link copied to clipboard
private fun isDependencyMet(dependency: ControlDependency<*>, controlContext: ControlContext): Boolean
Link copied to clipboard
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
Główna metoda walidacji kontrolki.
Link copied to clipboard
private fun validateChildControls(rows: List<RepeatableRow>, control: RepeatableControl, controlContext: ControlContext)
Link copied to clipboard
private fun validateListRules(rows: List<RepeatableRow>, options: RepeatableValidation): List<String>
Link copied to clipboard
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?