Wt  4.11.1
Public Member Functions | List of all members
Wt::WDoubleValidator Class Reference

A validator for validating floating point user input. More...

#include <Wt/WDoubleValidator.h>

Inheritance diagram for Wt::WDoubleValidator:
[legend]

Public Member Functions

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

Additional Inherited Members

- Public Types inherited from Wt::WValidator
typedef ValidationState State
 Typedef for enum Wt::ValidationState.
 

Detailed Description

A validator for validating floating point user input.

This validator checks whether user input is a double in the pre-defined range.

Usage example:

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

i18n

The strings used in this class can be translated by overriding the default values for the following localization keys: Wt.WDoubleValidator.NotANumber: Must be a number Wt.WDoubleValidator.TooSmall: The number must be larger than {1} Wt.WDoubleValidator.BadRange: The number must be in the range {1} to {2} Wt.WDoubleValidator.TooLarge: The number must be smaller than {1}

Constructor & Destructor Documentation

◆ WDoubleValidator() [1/2]

Wt::WDoubleValidator::WDoubleValidator ( )

Creates a new double validator that accepts any double.

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

See also
WLocale::currentLocale()

◆ WDoubleValidator() [2/2]

Wt::WDoubleValidator::WDoubleValidator ( double  minimum,
double  maximum 
)

Creates a new double validator that accepts double within the given range.

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

See also
WLocale::currentLocale()

Member Function Documentation

◆ ignoreTrailingSpaces()

bool Wt::WDoubleValidator::ignoreTrailingSpaces ( )

Indicates whether the validator should ignore the trailing spaces.

See also
setIgnoreTrailingSpaces()

◆ invalidNotANumberText()

WString Wt::WDoubleValidator::invalidNotANumberText ( ) const

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

See also
setInvalidNotANumberText(const WString&)

◆ invalidTooLargeText()

WString Wt::WDoubleValidator::invalidTooLargeText ( ) const

Returns the message displayed when the number is too large.

See also
setInvalidTooLargeText(const WString&)

◆ invalidTooSmallText()

WString Wt::WDoubleValidator::invalidTooSmallText ( ) const

Returns the message displayed when the number is too small.

See also
setInvalidTooSmallText(const WString&)

◆ javaScriptValidate()

std::string Wt::WDoubleValidator::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::WDoubleValidator::setBottom ( double  bottom)

Sets the bottom of the valid double range.

The default value is the minimum double value.

◆ setIgnoreTrailingSpaces()

void Wt::WDoubleValidator::setIgnoreTrailingSpaces ( bool  b)

If true the validator will ignore trailing spaces.

See also
ignoreTrailingSpaces()

◆ setInvalidNotANumberText()

void Wt::WDoubleValidator::setInvalidNotANumberText ( const WString text)

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

The default value is "Must be a number."

◆ setInvalidTooLargeText()

void Wt::WDoubleValidator::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::WDoubleValidator::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::WDoubleValidator::setTop ( double  top)

Sets the top of the valid double range.

The default value is the maximum double value.

◆ validate()

WValidator::Result Wt::WDoubleValidator::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 a double within the valid range.

Reimplemented from Wt::WValidator.