MinSize

open class MinSize @JvmOverloads constructor(val minSize: Int, val code: String = DEFAULT_CODE, val severity: ValidationIssueSeverity = ValidationIssueSeverity.Error) : Validation<Any> (source)

Validation that checks that a value's size is at least a given minSize, when it is not empty. Values of type Collection, Array (including variants), Map, Table, and File are supported.

When the value being validated is not empty and its size is less than minSize, then an issue is emitted with the provided code (defaults to DEFAULT_CODE). This issue contains a size data property with the size of the value that was validated and a minSize data property with the value of minSize.

To also validate that a value is not empty, use Required (preferred) or NotEmpty (if the value is nullable and null is an acceptable value) together with MinSize.

Example values accepted by schema ListSchema(MinSize(4)) { IntSchema() }:

  • listOf(1, 2, 3, 4)

  • listOf(1, 2, 3, 4, 5, 6, 7)

  • emptyList()

Example values rejected by schema ListSchema(MinSize(4)) { IntSchema() }:

  • listOf(1)

  • listOf(1, 2, 3)

Constructors

Link copied to clipboard
constructor(minSize: Int, code: String = DEFAULT_CODE, severity: ValidationIssueSeverity = ValidationIssueSeverity.Error)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Issue code to use when the value is not empty and its size is less than minSize.

Link copied to clipboard
open override val dependencies: Map<String, DependencyInfo>

Dependencies of the validation. Mapping of keys to the paths this validation depends on. Keys can be used within a ValidationContext to access the value of the dependencies.

Link copied to clipboard

Whether the form manager should reevaluate this validation whenever a descendant of the value being validated changes. This is false by default.

Link copied to clipboard

Set of external context dependencies of the validation.

Link copied to clipboard

Minimum size allowed (must be >= 0).

Link copied to clipboard

Severity of the issue emitted when the value is not empty and its size is less than minSize.

Functions

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun ValidationContext.validate(): Flow<ValidationIssue>

Runs the validation within a ValidationContext containing the value being validated and the value of all declared dependencies. Returns a flow over all found issues.