File: DateValidator.h

package info (click to toggle)
witty 3.1.2-3
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 45,512 kB
  • ctags: 35,832
  • sloc: cpp: 69,469; ansic: 66,945; xml: 4,383; sh: 594; perl: 108; makefile: 106
file content (55 lines) | stat: -rw-r--r-- 1,250 bytes parent folder | download
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
// 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 DATE_VALIDATOR_H_
#define DATE_VALIDATOR_H_

#include <boost/date_time/gregorian/gregorian_types.hpp>

#include <Wt/WRegExpValidator>

using namespace Wt;

/**
 * @addtogroup formexample
 */
/*@{*/

/*! \brief A validator that accepts dates.
 *
 * This example validator only accepts input in the dd/mm/yyyy format,
 * and checks that the date is in the right range.
 *
 * It would be a natural thing to extend this class to provide
 * access to the parsed date as a boost::gregorian::date object
 * for example.
 *
 * This class is part of the %Wt form example.
 */
class DateValidator : public WRegExpValidator
{
public:
  /*! \brief Construct a date validator.
   *
   * The validator will accept only dates in the indicated range.
   */
  DateValidator(const boost::gregorian::date& bottom,
		const boost::gregorian::date& top);

  /*
   * Reimplement the validate method to check the validity of
   * input as an existing date.
   */
  virtual State validate(WString& input) const;

private:
  boost::gregorian::date bottom_, top_;
};

/*@}*/

#endif // DATE_VALIDATOR_H_