/usr/include/Wt/WLengthValidator is in libwt-dev 3.3.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WLENGTHVALIDATOR_H_
#define WLENGTHVALIDATOR_H_
#include <limits>
#include <Wt/WValidator>
namespace Wt {
/*! \class WLengthValidator Wt/WLengthValidator Wt/WLengthValidator
* \brief A validator that checks the string length of user input.
*
* This validator checks whether user input is within the specified range
* of accepted string lengths.
*
* If you only want to limit the length on a line edit, you may also
* use WLineEdit::setMaxLength().
*
* \if cpp
* Usage example:
* \code
* Wt::WLineEdit *lineEdit = new Wt::WLineEdit(this);
* Wt::WLengthValidator *validator = new Wt::WLengthValidator(5, 15);
* lineEdit->setValidator(validator);
* lineEdit->setText("abcdef");
* \endcode
* \endif
*
* <h3>i18n</h3>
*
* The strings used in this class can be translated by overriding
* the default values for the following localization keys:
* - Wt.WLengthValidator.TooShort: The input must be at least {1} characters
* - Wt.WLengthValidator.BadRange: The input must have a length between {1} and {2} characters
* - Wt.WLengthValidator.TooLong: The input must be no more than {1} characters
*/
class WT_API WLengthValidator : public WValidator
{
public:
/*! \brief Creates a length validator that accepts input of any length.
*/
WLengthValidator(WObject *parent = 0);
/*! \brief Creates a length validator that accepts input within a length range.
*/
WLengthValidator(int minLength, int maxLength, WObject *parent = 0);
/*! \brief Sets the minimum length.
*
* The default value is 0.
*/
void setMinimumLength(int minimum);
/*! \brief Returns the minimum length.
*
* \sa setMinimumLength(int)
*/
int minimumLength() const { return minLength_; }
/*! \brief Sets the maximum length.
*
* The default value is the maximum integer value.
*/
void setMaximumLength(int maximum);
/*! \brief Returns the maximum length.
*
* \sa setMaximumLength(int)
*/
int maximumLength() const { return maxLength_; }
/*! \brief Validates the given input.
*
* The input is considered valid only when it is blank for a non-mandatory
* field, or has a length within the valid range.
*/
virtual Result validate(const WT_USTRING& input) const;
virtual void createExtConfig(std::ostream& config) const;
/*! \brief Sets the message to display when the input is too short.
*
* Depending on whether maximumLength() is a real bound, the default
* message is "The input must have a length between {1} and {2}
* characters" or " "The input must be at least {1} characters".
*/
void setInvalidTooShortText(const WString& text);
/*! \brief Returns the message displayed when the input is too short.
*
* \sa setInvalidTooShortText(const WString&)
*/
WString invalidTooShortText() const;
/*! \brief Sets the message to display when the input is too long.
*
* Depending on whether minimumLength() is different from zero, the
* default message is "The input must have a length between {1} and
* {2} characters" or " "The input must be no more than {2}
* characters".
*/
void setInvalidTooLongText(const WString& text);
/*! \brief Returns the message displayed when the input is too long.
*
* \sa setInvalidTooLongText(const WString&)
*/
WString invalidTooLongText() const;
std::string javaScriptValidate() const;
private:
int minLength_;
int maxLength_;
WString tooLongText_;
WString tooShortText_;
static void loadJavaScript(WApplication *app);
};
}
#endif // WLENGTHVALIDATOR_H_
|