Class WValidator
- Direct Known Subclasses:
AbstractPasswordService.AbstractStrengthValidator
,WDateValidator
,WDoubleValidator
,WEmailValidator
,WIntValidator
,WLengthValidator
,WRegExpValidator
A validator may be associated with a form widget using WFormWidget#setValidator()
.
The validator validates the user input. A validator may have a split implementation to provide
both validation at the client-side (which gives instant feed-back to the user while editing), and
server-side validation (to be sure that the client was not tampered with). The feed-back given by
(client-side and server-side) validation is reflected in the style class of the form field: a
style class of Wt-invalid
is set for a field that is invalid.
This WValidator only checks that mandatory fields are not empty. This class is reimplemented
in WDateValidator
, WIntValidator
, WDoubleValidator
, WLengthValidator
and WRegExpValidator
. All these validators provide both client-side and
server-side validation.
If these validators are not suitable, you can inherit from this class, and provide a suitable
implementation to validate()
which does the server-side
validation. If you want to provide client-side validation for your own validator, you may also
reimplement getJavaScriptValidate()
.
i18n
The strings used in this class can be translated by overriding the default values for the following localization keys:
- Wt.WValidator.Invalid: This field cannot be empty
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A class that holds a validation result. -
Constructor Summary
ConstructorDescriptionCreates a new validator.WValidator
(boolean mandatory) Creates a new validator. -
Method Summary
Modifier and TypeMethodDescriptionReturns the validator format.Returns a regular expression that filters input.Returns the message displayed when a mandatory field is left blank.Creates a Javascript object that validates the input.boolean
Returns if input is mandatory.void
Sets the message to display when a mandatory field is left blank.void
setMandatory
(boolean mandatory) Sets if input is mandatory.Validates the given input.
-
Constructor Details
-
WValidator
public WValidator(boolean mandatory) Creates a new validator.Indicate whether input is mandatory.
- See Also:
-
WValidator
public WValidator()Creates a new validator.Calls
this(false)
-
-
Method Details
-
setMandatory
public void setMandatory(boolean mandatory) Sets if input is mandatory.When an input is not mandatory, then an empty field is always valid.
-
isMandatory
public boolean isMandatory()Returns if input is mandatory. -
setInvalidBlankText
Sets the message to display when a mandatory field is left blank.The default value is "This field cannot be empty".
-
getInvalidBlankText
Returns the message displayed when a mandatory field is left blank.- See Also:
-
validate
Validates the given input.Note: The signature for this method changed in JWt 3.2.0.
-
getFormat
Returns the validator format.The default implementation returns an empty string.
-
getJavaScriptValidate
Creates a Javascript object that validates the input.The JavaScript expression should evaluate to an object which contains a
validate(text)
function, which returns an object that contains the following two fields:- fields: a boolean valid,
- a
message
that indicates the problem if not valid.
Returns an empty string if the validator does not provide a client-side validation implementationq.
- See Also:
-
getInputFilter
Returns a regular expression that filters input.The returned regular expression is used to filter keys presses. The regular expression should accept valid single characters.
For details on valid regular expressions, see
WRegExpValidator
. As an example, "[0-9]" would only accept numbers as valid input.The default implementation returns an empty string, which does not filter any input.
- See Also:
-