cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Checks if a value or text length is between a minimum and maximum value. More...
#include <Cutelyst/Plugins/Utils/validatorbetween.h>
Public Member Functions | |
ValidatorBetween (const QString &field, QMetaType::Type type, const QVariant &min, const QVariant &max, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString()) | |
~ValidatorBetween () 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 | genericParsingError (Context *c, const QVariant &errorData) const override |
QString | genericValidationDataError (Context *c, const QVariant &errorData) const override |
QString | genericValidationError (Context *c, const QVariant &errorData=QVariant()) const override |
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 |
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 has the mandatory extra parameters type, min and max. type specifies the type to validate against, it can be either a QMetaType::Type for a number value (Int, UInt, Float, etc.) or QString, that are used as base types. You can compare against any integer, floating point or string type. If you validate a string, it’s length will be checked if it is between min and max values.
If you set a string to the min and/or max values, this will neither be interpreted as a number nor as string length, but will be used to get the comparison number value from the stash.
'C'
locale.Definition at line 50 of file validatorbetween.h.
ValidatorBetween::ValidatorBetween | ( | const QString & | field, |
QMetaType::Type | type, | ||
const QVariant & | min, | ||
const QVariant & | max, | ||
const ValidatorMessages & | messages = ValidatorMessages() , |
||
const QString & | defValKey = QString() |
||
) |
Constructs a new ValidatorBetween object with the given parameters.
field | Name of the input field to validate. |
type | The type to compare. Can be either a QMetaType::Type for a number value or QMetaType::QString. |
min | Minimum value. Will be converted into comparable value. If it is a QString, it will try to get the comparison value from another params field or the stash. |
max | Maximum value. Will be converted into comparable value. If it is a QString, it will try to get the comparison value from another params field or the stash. |
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 validatorbetween.cpp.
|
overridedefault |
Destroys the ValidatorBetween object.
|
overrideprotectedvirtual |
Returns a generic error message for input value parsing errors.
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 331 of file validatorbetween.cpp.
References QString::arg(), QMetaType::Double, QMetaType::Float, QString::isEmpty(), Cutelyst::ValidatorRule::label(), and Cutelyst::Context::qtTrId().
|
overrideprotectedvirtual |
Returns a generic error message for validation data errors.
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 283 of file validatorbetween.cpp.
References QString::arg(), QString::fromLatin1(), QString::isEmpty(), Cutelyst::ValidatorRule::label(), QMetaType::name(), Cutelyst::Context::qtTrId(), and QVariant::toInt().
|
overrideprotectedvirtual |
Returns a generic error message.
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 218 of file validatorbetween.cpp.
References QString::arg(), QMetaType::Char, QMetaType::Double, QMetaType::Float, QMetaType::Int, QString::isEmpty(), Cutelyst::ValidatorRule::label(), Cutelyst::Context::locale(), QMetaType::Long, QMetaType::LongLong, QMetaType::QString, Cutelyst::Context::qtTrId(), QMetaType::Short, QVariant::toMap(), QLocale::toString(), QMetaType::UChar, QMetaType::UInt, QMetaType::ULong, QMetaType::ULongLong, QMetaType::UShort, and Cutelyst::ValidatorRule::validationDataError().
|
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 the type specified in the constructor.
Implements Cutelyst::ValidatorRule.
Definition at line 24 of file validatorbetween.cpp.
References QMetaType::Char, Cutelyst::ValidatorRule::debugString(), Cutelyst::ValidatorRule::defaultValue(), QMetaType::Double, Cutelyst::ValidatorReturnType::errorMessage, QMetaType::Float, QMetaType::Int, QString::isEmpty(), QVariant::isValid(), QString::length(), Cutelyst::Context::locale(), QMetaType::Long, QMetaType::LongLong, Cutelyst::ValidatorRule::parsingError(), QMetaType::QString, QVariant::setValue(), QMetaType::Short, QString::toDouble(), QLocale::toLongLong(), QString::toULongLong(), QMetaType::UChar, QMetaType::UInt, QMetaType::ULong, QMetaType::ULongLong, QMetaType::UShort, Cutelyst::ValidatorRule::validationDataError(), Cutelyst::ValidatorRule::validationError(), Cutelyst::ValidatorReturnType::value, and Cutelyst::ValidatorRule::value().