MatchesEmail

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

Validation that checks that a string matches an email according to the W3C HTML5 spec when it is not empty.

When the string is not empty and does not match an email, then an issue is emitted with the provided code (defaults to DEFAULT_CODE).

Use matchesEmail in custom validations to reproduce the same check.

Note: As per spec, this function performs a punycode encoding of the domain part of the email address. In the JVM, unless ICU4J is found in the classpath, Java's IDN will be used for this purpose. Although likely sufficient for most addresses, this is not fully compliant with the specification as it uses the legacy IDNA2003 instead of UTS #46.

Parameters

code

Issue code to use when the string is not empty and does not match an email.

severity

Severity of the issue emitted when the string is not empty and does not match an email.

Constructors

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

Types

Link copied to clipboard
object Companion

Properties

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