cutelyst 5.0.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
Cutelyst::ValidatorMin Class Reference

Checks if a value is not smaller or shorter than a maximum value. More...

#include <Cutelyst/Plugins/Utils/validatormin.h>

Inheritance diagram for Cutelyst::ValidatorMin:

Public Member Functions

 ValidatorMin (const QString &field, QMetaType::Type type, const QVariant &min, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey={})
 ~ValidatorMin () 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 &params) const override
void validateCb (Context *c, const ParamsMultiMap &params, ValidatorRtFn cb) const override
Protected Member Functions inherited from Cutelyst::ValidatorRule
 ValidatorRule (ValidatorRulePrivate &dd)
QString debugString (const Context *c) const
void defaultValue (Context *c, ValidatorReturnType *result) const
void defaultValue (Context *c, ValidatorRtFn cb) const
QString field () const noexcept
QString label (const 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 &params) const

Additional Inherited Members

Detailed Description

This works for floating point, integer and QString types, where for numeric types it will check the value itself while for QString it will check the string length. Use min to define the minimum value and type to set the type to check against. min will internally converted into a comparative value (qlonglong for QMetaType::Int, qulonglong for QMetaType::UInt and int for QMetaType::QString. Allowed types for the type specifier are all numeric types and QMetaType::QString. Any other type will result in a validation data error.

If you set a string to the min value, 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.

Note
Conversion of numeric input values is performed in the 'C' locale.
Unless validation is started with NoTrimming, whitespaces will be removed from the beginning and the end of the input value before validation. If the field's value is empty or if the field is missing in the input data, the validation will succeed without performing the validation itself. Use one of the required validators to require the field to be present and not empty.
Return type
On success, ValidatorReturnType::value will contain the type specified in the constructor.
See also
Validator for general usage of validators.
ValidatorMax, ValidatorBetween, ValidatorSize

Definition at line 46 of file validatormin.h.

Constructor & Destructor Documentation

◆ ValidatorMin()

ValidatorMin::ValidatorMin ( const QString & field,
QMetaType::Type type,
const QVariant & min,
const ValidatorMessages & messages = ValidatorMessages(),
const QString & defValKey = {} )

Constructs a new ValidatorMin with the given parameters.

Parameters
fieldName of the input field to validate.
typeThe type to compare.
minMinimum value. Will be converted into comparable value. If it is a QString, it will try to get the comparison value from the stash.
messagesCustom error message if validation fails.
defValKeyStash key containing a default value if input field is empty. This value will NOT be validated.

Definition at line 10 of file validatormin.cpp.

References Cutelyst::ValidatorRule::ValidatorRule(), and Cutelyst::ValidatorRule::field().

Referenced by ~ValidatorMin(), genericParsingError(), genericValidationDataError(), genericValidationError(), and validate().

◆ ~ValidatorMin()

ValidatorMin::~ValidatorMin ( )
overridedefault

Member Function Documentation

◆ genericParsingError()

QString ValidatorMin::genericParsingError ( Context * c,
const QVariant & errorData ) const
overrideprotectedvirtual

Returns a generic error message for input value parsing errors.

Reimplemented from Cutelyst::ValidatorRule.

Definition at line 272 of file validatormin.cpp.

References ValidatorMin(), QString::arg(), QMetaType::Double, QMetaType::Float, QString::isEmpty(), Cutelyst::ValidatorRule::label(), and Cutelyst::Context::qtTrId().

Referenced by ~ValidatorMin().

◆ genericValidationDataError()

QString ValidatorMin::genericValidationDataError ( Context * c,
const QVariant & errorData ) const
overrideprotectedvirtual

Returns a generic error message for validation data errors.

Reimplemented from Cutelyst::ValidatorRule.

Definition at line 223 of file validatormin.cpp.

References ValidatorMin(), QString::arg(), QString::fromLatin1(), QString::isEmpty(), Cutelyst::ValidatorRule::label(), QMetaType::name(), Cutelyst::Context::qtTrId(), and QVariant::toInt().

Referenced by ~ValidatorMin().

◆ genericValidationError()

◆ validate()

◆ validateCb()

void ValidatorMin::validateCb ( Context * c,
const ParamsMultiMap & params,
ValidatorRtFn cb ) const
overrideprotectedvirtual

Performs the validation on the input params and calls the cb with the ValidatorReturnType as argument.

If validation succeeded, ValidatorReturnType::value will contain the input parameter value converted into the type specified in the constructor.

Since
Cutelyst 5.0.0

Reimplemented from Cutelyst::ValidatorRule.

Definition at line 167 of file validatormin.cpp.

References validate().

Referenced by ~ValidatorMin().