This file is indexed.

/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_