6 #include "validator_p.h" 8 #include <Cutelyst/application.h> 9 #include <Cutelyst/context.h> 10 #include <Cutelyst/request.h> 12 #include <QLoggingCategory> 16 Q_LOGGING_CATEGORY(C_VALIDATOR,
"cutelyst.utils.validator", QtWarningMsg)
19 : d_ptr(new ValidatorPrivate(translationContext))
24 const char *translationContext)
25 : d_ptr(new ValidatorPrivate(validators, translationContext))
35 if (!d->validators.empty()) {
36 qDeleteAll(d->validators.begin(), d->validators.end());
37 d->validators.clear();
70 if (d->validators.empty()) {
71 qCWarning(C_VALIDATOR) <<
"Validation started with empty validator list.";
76 qCWarning(C_VALIDATOR) <<
"Validation started with empty parameters.";
80 const bool noTrimming = flags.testFlag(
NoTrimming);
85 v->setTrimBefore(
false);
98 if (stopOnFirstError) {
125 v->setTranslationContext(d->translationContext);
126 d->validators.push_back(v);
ValidatorResult validate(Context *c, ValidatorFlags flags=NoSpecialBehavior) const
QMultiMap::const_iterator constEnd() const const
bool isEmpty() const const
Validator(const char *translationContext=nullptr)
void setStash(const QString &key, const QVariant &value)
QMultiMap::const_iterator constBegin() const const
ParamsMultiMap bodyParameters() const
QHash< QString, QStringList > errors() const noexcept
QStringList errorStrings() const
The Cutelyst namespace holds all public Cutelyst API.
Base class for all validator rules.
Validation processor for input data.
void addError(const QString &field, const QString &message)
QString field() const noexcept
QVariant fromValue(const T &value)
void addValue(const QString &field, const QVariant &value)
virtual ValidatorReturnType validate(Context *c, const ParamsMultiMap ¶ms) const =0
ParamsMultiMap queryParameters() const
QMultiMap< Key, T > & unite(const QMultiMap< Key, T > &other)
void addValidator(ValidatorRule *v)
static void loadTranslations(Application *app)
bool isValid() const const
The Cutelyst application.
Contains the result of a single input parameter validation.
Provides information about performed validations.
void addExtra(const QString &field, const QVariant &extra)
void loadTranslations(const QString &filename, const QString &directory={}, const QString &prefix={}, const QString &suffix={})