Wt
3.3.0
|
A validator that checks user input against a regular expression. More...
#include <Wt/WRegExpValidator>
Public Member Functions | |
WRegExpValidator (WObject *parent=0) | |
Sets a new regular expression validator. | |
WRegExpValidator (const WString &pattern, WObject *parent=0) | |
Sets a new regular expression validator that accepts input that matches the given regular expression. | |
~WRegExpValidator () | |
Destructor. | |
void | setRegExp (const WString &pattern) |
Sets the regular expression for valid input. | |
WString | regExp () const |
Returns the regular expression for valid input. | |
void | setFlags (WFlags< RegExpFlag > flags) |
Sets regular expression matching flags. | |
WFlags< RegExpFlag > | flags () const |
Returns regular expression matching flags. | |
virtual Result | validate (const WString &input) const |
Validates the given input. | |
virtual void | createExtConfig (std::ostream &config) const |
Provides Ext-compatible config options for client-side validation. | |
void | setNoMatchText (const WString &text) |
void | setInvalidNoMatchText (const WString &text) |
Sets the message to display when the input does not match. | |
WString | invalidNoMatchText () const |
Returns the message displayed when the input does not match. | |
virtual std::string | javaScriptValidate () const |
Creates a Javascript object that validates the input. |
A validator that checks user input against a regular expression.
This validator checks whether user input matches the given (perl-like) regular expression. It checks the complete input; prefix ^ and suffix $ are not needed.
The following perl features are not supported (since client-side validation cannot handle them):
Usage example:
Wt::WLineEdit *lineEdit = new Wt::WLineEdit(this); // an email address validator Wt::WRegExpValidator *validator = new Wt::WRegExpValidator("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}"); lineEdit->setValidator(validator); lineEdit->setText("koen@emweb.be");
The strings used in this class can be translated by overriding the default values for the following localization keys:
Sets a new regular expression validator that accepts input that matches the given regular expression.
This constructs a validator that matches the perl regular expression expr
.
WString Wt::WRegExpValidator::invalidNoMatchText | ( | ) | const |
Returns the message displayed when the input does not match.
std::string Wt::WRegExpValidator::javaScriptValidate | ( | ) | const [virtual] |
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:
message
that indicates the problem if not valid.Returns an empty string if the validator does not provide a client-side validation implementationq.
Reimplemented from Wt::WValidator.
WString Wt::WRegExpValidator::regExp | ( | ) | const |
Returns the regular expression for valid input.
Returns the perl regular expression.
void Wt::WRegExpValidator::setInvalidNoMatchText | ( | const WString & | text | ) |
Sets the message to display when the input does not match.
The default value is "Invalid input".
void Wt::WRegExpValidator::setNoMatchText | ( | const WString & | text | ) |
Sets the text to be shown if no match can be found.
void Wt::WRegExpValidator::setRegExp | ( | const WString & | pattern | ) |
Sets the regular expression for valid input.
Sets the perl regular expression expr
.
WValidator::Result Wt::WRegExpValidator::validate | ( | const WString & | input | ) | const [virtual] |
Validates the given input.
The input is considered valid only when it is blank for a non-mandatory field, or matches the regular expression.
Reimplemented from Wt::WValidator.