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(vararg acceptedFileTypes: String, code: String = DEFAULT_CODE, severity: ValidationIssueSeverity = ValidationIssueSeverity.Error)
constructor(acceptedFileTypes: Iterable<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

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

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

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.