cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Checks if the input data is a valid datetime. More...
#include <Cutelyst/Plugins/Utils/validatordatetime.h>
Public Member Functions | |
ValidatorDateTime (const QString &field, const QString &timeZone, const char *inputFormat=nullptr, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString()) | |
~ValidatorDateTime () override | |
Public Member Functions inherited from Cutelyst::ValidatorRule | |
ValidatorRule (const QString &field, const ValidatorMessages &messages={}, const QString &defValKey={}, QByteArrayView validatorName=nullptr) | |
virtual | ~ValidatorRule () |
Deconstructs the ValidatorRule. | |
Protected Member Functions | |
QString | genericValidationError (Context *c, const QVariant &errorData=QVariant()) const override |
Returns a generic error if validation failed. | |
ValidatorReturnType | validate (Context *c, const ParamsMultiMap ¶ms) const override |
Protected Member Functions inherited from Cutelyst::ValidatorRule | |
ValidatorRule (ValidatorRulePrivate &dd) | |
QString | debugString (Context *c) const |
void | defaultValue (Context *c, ValidatorReturnType *result) const |
QString | field () const noexcept |
virtual QString | genericParsingError (Context *c, const QVariant &errorData={}) const |
virtual QString | genericValidationDataError (Context *c, const QVariant &errorData={}) const |
QString | label (Context *c) const |
QString | parsingError (Context *c, const QVariant &errorData={}) const |
bool | trimBefore () const noexcept |
QString | validationDataError (Context *c, const QVariant &errorData={}) const |
QString | validationError (Context *c, const QVariant &errorData={}) const |
QString | value (const ParamsMultiMap ¶ms) const |
This validator checks if the input field can be parsed into a QDateTime, it will check the parsing ability and will convert the input data into a QDateTime. If a custom inputFormat is given, the validator will at first try to parse the datetime according to that format. If that fails or if there is no custom inputFormat set, it will try to parse the date and time based on standard formats in the following order: Context locale's toDateTime() with QLocale::ShortFormat and QLocale::LongFormat, Qt::ISODate, Qt::RFC2822Date, Qt::TextDate
To specify a time zone that should be used for the input field - and the comparison input field if one is used, give either the IANA time zone ID name to the timeZone argument of the constructor or the name of an input field or stash key that contains the ID name. It will then be first tried to create a valid QTimeZone from the timeZone, if that fails it will first try to get the time zone from the input parameters and if there is no key with the name trying it with the stash. Stash or input parameter can either contain a valid IANA time zone ID or the offset from UTC in seconds.
Definition at line 49 of file validatordatetime.h.
ValidatorDateTime::ValidatorDateTime | ( | const QString & | field, |
const QString & | timeZone, | ||
const char * | inputFormat = nullptr , |
||
const ValidatorMessages & | messages = ValidatorMessages() , |
||
const QString & | defValKey = QString() |
||
) |
Constructs a new ValidatorDataTime object with the given parameters.
field | Name of the input field to validate. |
timeZone | IANA time zone ID, name of a input field containing the ID or stash key containing the ID. |
inputFormat | Optional input format for input data parsing, can be translatable. |
messages | Custom error message if validation fails. |
defValKey | Stash key containing a default value if input field is empty. This value will NOT be validated. |
Definition at line 12 of file validatordatetime.cpp.
|
overridedefault |
Destroys the ValidatorDateTime object.
|
overrideprotectedvirtual |
Performs the validation on the input params and returns the result.
If validation succeeded, ValidatorReturnType::value will contain the input parameter value converted into a QDateTime.
Implements Cutelyst::ValidatorRule.
Definition at line 24 of file validatordatetime.cpp.
References Cutelyst::ValidatorRule::debugString(), Cutelyst::ValidatorRule::defaultValue(), Cutelyst::ValidatorReturnType::errorMessage, QString::isEmpty(), QDateTime::isValid(), QVariant::setValue(), Cutelyst::ValidatorRule::validationError(), Cutelyst::ValidatorReturnType::value, and Cutelyst::ValidatorRule::value().