cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
The field under validation must be present and not empty if the content of a stash key is equal to one from a list. More...
#include <Cutelyst/Plugins/Utils/validatorrequiredifstash.h>
Public Member Functions | |
ValidatorRequiredIfStash (const QString &field, const QString &stashKey, const QVariant &stashValues, const ValidatorMessages &messages=ValidatorMessages()) | |
~ValidatorRequiredIfStash () 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 |
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 |
If the value of the stashKey is equal to one of the values defined in stashValues, the input field under validation must be present and not empty. stashValues can contain a QString, a QStringList or a QVariantList. If it is a QString, it is interpreted as a stash key that contains the comparison list, that has to be either a QStringList or a QVariantList. If stashValues or the content of the there specified stash key is a QStringList, the content of stashKey will be converted into a QString to compare. If stashValues or the content of the there specified stash key is a QVariantList, the variants will be compared.
This validator is the opposite of ValidatorRequiredUnlessStash and is similar to ValidatorRequiredIf.
Definition at line 46 of file validatorrequiredifstash.h.
ValidatorRequiredIfStash::ValidatorRequiredIfStash | ( | const QString & | field, |
const QString & | stashKey, | ||
const QVariant & | stashValues, | ||
const ValidatorMessages & | messages = ValidatorMessages() |
||
) |
Constructs a new ValidatorRequiredIfStash with the given parameters.
field | Name of the input field to validate. |
stashKey | Name of the stash key to compare against. |
stashValues | Can be a QString pointing to a stash key containing a QStringList or a QVariantList, directly a QStringList or directly a QVariantList. The list content must match the content of the stashKey to require the field. |
messages | Custom error messages if validation fails. |
Definition at line 10 of file validatorrequiredifstash.cpp.
|
overridedefault |
Destroys the ValidatorRequiredIfStash object.
|
overrideprotectedvirtual |
Returns a generic error message if validation failed.
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 96 of file validatorrequiredifstash.cpp.
References QString::arg(), QString::isEmpty(), Cutelyst::ValidatorRule::label(), and Cutelyst::Context::qtTrId().
|
overrideprotectedvirtual |
Performs the validation on the input params and returns the result.
If validation succeeded, ValidatorReturnType::value will contain the input paramter value as QString.
Implements Cutelyst::ValidatorRule.
Definition at line 20 of file validatorrequiredifstash.cpp.
References QString::contains(), QStringList::contains(), Cutelyst::ValidatorRule::debugString(), Cutelyst::ValidatorReturnType::errorMessage, QString::isEmpty(), QMetaType::QString, QMetaType::QStringList, QMetaType::QVariantList, QVariant::setValue(), Cutelyst::Context::stash(), QVariant::toList(), QVariant::toString(), QVariant::toStringList(), QVariant::typeId(), Cutelyst::ValidatorRule::validationDataError(), Cutelyst::ValidatorRule::validationError(), Cutelyst::ValidatorReturnType::value, and Cutelyst::ValidatorRule::value().