Which primitive type(s) this tag can be applied to
Unique identifier for this tag type
The constraint value specified by the user
The validation expression to generate
Whether this tag conflicts with others
Additional JSON Schema properties to output
OptionalexclusiveTag exclusivity configuration.
Controls which other tags cannot be combined with this one:
true: No duplicate tags of the same kind allowedstring[]: List of incompatible tag kindsfalse (default): No exclusivity restrictionsFor example, Minimum and ExclusiveMinimum are mutually exclusive -
only one can be applied to a property.
Unique identifier for this tag type.
Used internally to identify the constraint kind. Examples: "minimum",
"maxLength", "format", "pattern".
OptionalschemaAdditional JSON Schema properties to output.
Object containing schema properties to merge into the generated JSON
Schema for the annotated type. For Minimum<5>, this would be { minimum: 5 }.
Target primitive type(s) this tag applies to.
The transformer will error if the tag is applied to a property of a
different type. For example, MinLength targets "string" and cannot be
applied to numbers.
OptionalvalidateValidation expression template.
JavaScript expression string that validates the input value. Use $input
as a placeholder for the actual value. The expression is inserted into
the generated validation function.
Can be a single string or an object mapping target types to different expressions (for tags supporting multiple types).
User-configured constraint value.
The value provided by the user when applying the tag. For Minimum<5>,
this would be 5. For Format<"email">, this would be "email".
Configuration interface for validation tag properties.
Defines all the metadata a validation tag can specify, including what types it applies to, how to validate values, and what to output in JSON Schema.