Package org.apache.tapestry5
Interface Validator<C,T>
-
- All Known Implementing Classes:
AbstractValidator
,Checked
,Email
,Max
,MaxLength
,Min
,MinLength
,None
,Regexp
,Required
,Unchecked
public interface Validator<C,T>
Used by aField
to enforce a constraint related to a form submission. Validators themselves are stateless singletons. Validators are usually encapsulated inside aFieldValidator
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Class<C>
getConstraintType()
Returns the type of constraint value used with this validator.String
getMessageKey()
Returns the message key, within the validation messages, normally used by this validator.Class<T>
getValueType()
Returns the value type associated with this validator.boolean
isRequired()
Returns true if the validator should be invoked for null or blank (empty string) values.void
render(Field field, C constraintValue, MessageFormatter formatter, MarkupWriter writer, FormSupport formSupport)
Hook used by components to allow the validator to contribute additional attributes or (more often) client-side JavaScript (via theFormSupport.addValidation(Field, String, String, Object)
).void
validate(Field field, C constraintValue, MessageFormatter formatter, T value)
Invoked after the client-submitted value has beentranslated
to check that the value conforms to expectations (often, in terms of minimum or maximum value).
-
-
-
Method Detail
-
getConstraintType
Class<C> getConstraintType()
Returns the type of constraint value used with this validator. Constraint values are used to parameterize a validator, for example a "maxLength" validator will have a constraint value of type int (the maximum length allowed). For constraints that do not have a constraint value, this method returns null.
-
getValueType
Class<T> getValueType()
Returns the value type associated with this validator.validate(Field, Object, MessageFormatter, Object)
will only be invoked when the value is assignable to the validator's value type.
-
getMessageKey
String getMessageKey()
Returns the message key, within the validation messages, normally used by this validator. This is used to provide theMessageFormatter
passed tovalidate(Field, Object, MessageFormatter, Object)
(unless overridden).- Returns:
- a message key
-
validate
void validate(Field field, C constraintValue, MessageFormatter formatter, T value) throws ValidationException
Invoked after the client-submitted value has beentranslated
to check that the value conforms to expectations (often, in terms of minimum or maximum value). If and only if the value is approved by all Validators is the value applied by the field.- Parameters:
field
- the field for which a client submitted value is being validatedconstraintValue
- the value used to constrainformatter
- Validation messages, in the appropriate localevalue
- the translated value supplied by the user- Throws:
ValidationException
- if the value violates the constraint
-
isRequired
boolean isRequired()
Returns true if the validator should be invoked for null or blank (empty string) values. This is generally false, but is true for validators that enforce that a non-blank value is required. This is the basis of theField.isRequired()
property.
-
render
void render(Field field, C constraintValue, MessageFormatter formatter, MarkupWriter writer, FormSupport formSupport)
Hook used by components to allow the validator to contribute additional attributes or (more often) client-side JavaScript (via theFormSupport.addValidation(Field, String, String, Object)
).- Parameters:
field
- the field which is currently being renderedconstraintValue
- the value used to constrain inputformatter
- validation message, in the appropriate localewriter
- markup writer, allowing additional attributes to be written into the active elementformSupport
- used to add JavaScript
-
-