Wt: Wt::WIntValidator Class Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Wt::WIntValidator Class Reference

A validator that validates integer user input. More...

`#include <Wt/WIntValidator.h>`

Inheritance diagram for Wt::WIntValidator:
[legend]

## Public Member Functions
| WIntValidator ()
| Creates a new integer validator that accepts any integer.
| WIntValidator (int minimum, int maximum)
| Creates a new integer validator that accepts integer input within the given range.
int | bottom () const
| Returns the bottom of the valid integer range.
void | setBottom (int bottom)
| Sets the bottom of the valid integer range.
int | top () const
| Returns the top of the valid integer range.
void | setTop (int top)
| Sets the top of the valid integer range.
virtual void | setRange (int bottom, int top)
| Sets the range of valid integers.
virtual Result | validate (const WString &input) const override
| Validates the given input.
void | setInvalidNotANumberText (const WString &text)
| Sets the message to display when the input is not a number.
WString | invalidNotANumberText () const
| Returns the message displayed when the input is not a number.
void | setInvalidTooSmallText (const WString &text)
| Sets the message to display when the number is too small.
WString | invalidTooSmallText () const
| Returns the message displayed when the number is too small.
void | setInvalidTooLargeText (const WString &text)
| Sets the message to display when the number is too large.
WString | invalidTooLargeText () const
| Returns the message displayed when the number is too large.
void | setIgnoreTrailingSpaces (bool b)
| If true the validator will ignore trailing spaces.
bool | ignoreTrailingSpaces ()
| Indicates whether the validator should ignore the trailing spaces.
virtual std::string | javaScriptValidate () const override
| Creates a Javascript object that validates the input.
virtual std::string | inputFilter () const override
| Returns a regular expression that filters input.
Public Member Functions inherited from Wt::WValidator
| WValidator (bool mandatory=false)
| Creates a new validator.
virtual | ~WValidator ()
| Destructor.
void | setMandatory (bool how)
| Sets if input is mandatory.
bool | isMandatory () const
| Returns if input is mandatory.
void | setInvalidBlankText (const WString &text)
| Sets the message to display when a mandatory field is left blank.
WString | invalidBlankText () const
| Returns the message displayed when a mandatory field is left blank.
virtual WString | format () const
| Returns the validator format.

## Additional Inherited Members
Public Types inherited from Wt::WValidator
typedef ValidationState | State
| Typedef for enum Wt::ValidationState.
Protected Member Functions inherited from Wt::WValidator

## Detailed Description

A validator that validates integer user input.

This validator checks whether user input is an integer number in a pre-defined range.

Usage example:

Wt::WLineEdit *lineEdit = addWidget(std::make_unique<Wt::WLineEdit>());
std::shared_ptr<Wt::WIntValidator> validator =
std::make_shared<Wt::WIntValidator>(0, 100);
lineEdit->setValidator(validator);
lineEdit->setText("50");
Wt::WFormWidget::setValidator
void setValidator(const std::shared_ptr< WValidator > &validator)
Sets a validator for this field.
Wt::WLineEdit
A widget that provides a single line edit.
Definition WLineEdit.h:76
Wt::WLineEdit::setText
virtual void setText(const WString &text)
Sets the content of the line edit.

### i18n

The strings used in this class can be translated by overriding the default values for the following localization keys:

- Wt.WIntValidator.NotAnInteger: Must be an integer number
- Wt.WIntValidator.TooSmall: The number must be larger than {1}
- Wt.WIntValidator.BadRange: The number must be in the range {1} to {2}
- Wt.WIntValidator.TooLarge: The number must be smaller than {1}

## Constructor & Destructor Documentation

## ◆ WIntValidator() [1/2]

Wt::WIntValidator::WIntValidator | ( |  | ) |

Creates a new integer validator that accepts any integer.

The validator will accept numbers using the current locale's format.

See also
  WLocale::currentLocale()

## ◆ WIntValidator() [2/2]

Wt::WIntValidator::WIntValidator | ( | int | minimum,
|  | int | maximum )

Creates a new integer validator that accepts integer input within the given range.

See also
  WLocale::currentLocale()

## Member Function Documentation

## ◆ ignoreTrailingSpaces()

bool Wt::WIntValidator::ignoreTrailingSpaces | ( |  | ) |

Indicates whether the validator should ignore the trailing spaces.

See also
  setIgnoreTrailingSpaces()

## ◆ inputFilter()

virtual std::string Wt::WIntValidator::inputFilter | ( |  | ) | const
| overridevirtual

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
  javaScriptValidate()

Reimplemented from Wt::WValidator.

## ◆ invalidNotANumberText()

WString Wt::WIntValidator::invalidNotANumberText | ( |  | ) | const

Returns the message displayed when the input is not a number.

See also
  setInvalidNotANumberText(const WString&)

## ◆ invalidTooLargeText()

WString Wt::WIntValidator::invalidTooLargeText | ( |  | ) | const

Returns the message displayed when the number is too large.

See also
  setInvalidTooLargeText(const WString&)

## ◆ invalidTooSmallText()

WString Wt::WIntValidator::invalidTooSmallText | ( |  | ) | const

Returns the message displayed when the number is too small.

See also
  setInvalidTooSmallText(const WString&)

## ◆ javaScriptValidate()

virtual std::string Wt::WIntValidator::javaScriptValidate | ( |  | ) | const
| overridevirtual

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
  inputFilter()

Reimplemented from Wt::WValidator.

## ◆ setBottom()

void Wt::WIntValidator::setBottom | ( | int | bottom | ) |

Sets the bottom of the valid integer range.

The default value is the minimum integer value.

## ◆ setIgnoreTrailingSpaces()

void Wt::WIntValidator::setIgnoreTrailingSpaces | ( | bool | b | ) |

If true the validator will ignore trailing spaces.

See also
  ignoreTrailingSpaces()

## ◆ setInvalidNotANumberText()

void Wt::WIntValidator::setInvalidNotANumberText | ( | const WString & | text | ) |

Sets the message to display when the input is not a number.

The default value is "Must be an integer number."

## ◆ setInvalidTooLargeText()

void Wt::WIntValidator::setInvalidTooLargeText | ( | const WString & | text | ) |

Sets the message to display when the number is too large.

Depending on whether bottom() and top() are real bounds, the default message is "The number must be between {1} and {2}" or "The number must be smaller than {2}".

## ◆ setInvalidTooSmallText()

void Wt::WIntValidator::setInvalidTooSmallText | ( | const WString & | text | ) |

Sets the message to display when the number is too small.

Depending on whether bottom() and top() are real bounds, the default message is "The number must be between {1} and {2}" or "The number must be larger than {1}".

## ◆ setTop()

void Wt::WIntValidator::setTop | ( | int | top | ) |

Sets the top of the valid integer range.

The default value is the maximum integer value.

## ◆ validate()

virtual Result Wt::WIntValidator::validate | ( | const WString & | input | ) | const
| overridevirtual

Validates the given input.

The input is considered valid only when it is blank for a non-mandatory field, or represents an integer within the valid range.

Reimplemented from Wt::WValidator.