Accepts

open class Accepts @JvmOverloads constructor(acceptedFileTypes: Iterable<String>, val code: String = DEFAULT_CODE, val severity: ValidationIssueSeverity = ValidationIssueSeverity.Error) : Validation<File> (source)

Validation that checks that a file's type is one of the acceptedFileTypes.

Each provided file type to accept must match one of the following:

  • A MIME type, indicating that files of the specified type are accepted (provided MIME types may contain wildcards such as image/∗).

  • A string whose first character is a full stop (.), indicating that files with the specified file extension are accepted.

When the type of the file being validated does not match one of the acceptedFileTypes, then an issue is emitted with the provided code (defaults to DEFAULT_CODE). This issue contains a fileName data property with the name of the file that was validated, a mimeType data property with the MIME type of the file that was validated, and an accepted data property with the acceptedFileTypes.

Example usage:

Accepts("image/∗", ".pdf")

Constructors

Link copied to clipboard
constructor(acceptedFileTypes: Iterable<String>, code: String = DEFAULT_CODE, severity: ValidationIssueSeverity = ValidationIssueSeverity.Error)
constructor(vararg acceptedFileTypes: String, code: String = DEFAULT_CODE, severity: ValidationIssueSeverity = ValidationIssueSeverity.Error)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Accepted file types (each accepted file type must be either a MIME type or a file extension starting with a full stop).

Link copied to clipboard

Issue code to use when the file's type does not match one of the accepted file types.

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
open val dependsOnDescendants: Boolean = false

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

Schema of the value being validated.

Link copied to clipboard

Severity of the issue emitted when the file's type does not match one of the accepted file types.

Link copied to clipboard

Value being validated.

Functions

Link copied to clipboard
@JvmName(name = "reifiedAddDependency")
protected inline fun <TDependency> addDependency(dependencyKey: String, path: String)
protected fun addDependency(dependencyKey: String, path: String)
@JvmName(name = "reifiedAddDependency")
protected inline fun <TDependency> addDependency(dependencyKey: String, path: Path)
protected fun addDependency(dependencyKey: String, path: Path)

Declares a dependency to path, accessible in the validation's context via key dependencyKey.

Link copied to clipboard
protected fun addExternalContextDependency(externalContextName: String)

Declares an external context dependency to externalContextName.

Link copied to clipboard

Function used to declare a dependency to a path and delegate access to its value within a ValidationContext.

Link copied to clipboard

Function used to declare a dependency to a path and delegate access to its value within a ValidationContext.

Link copied to clipboard

Function used to declare a dependency to an external context and delegate access to its value within a ValidationContext.

Link copied to clipboard

Function used to declare a dependency to an external context and delegate access to its value within a ValidationContext.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard

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.