5#ifndef CUTELYSTVALIDATORRULE_H
6#define CUTELYSTVALIDATORRULE_H
8#include <Cutelyst/cutelyst_global.h>
9#include <Cutelyst/paramsmultimap.h>
11#include <QLoggingCategory>
12#include <QScopedPointer>
15Q_DECLARE_LOGGING_CATEGORY(C_VALIDATOR)
67 explicit operator bool()
const {
return errorMessage.isNull(); }
74 bool isValid()
const {
return errorMessage.isNull(); }
157 const char *customValidationError =
nullptr,
158 const char *customParsingError =
nullptr,
159 const char *customValidationDataError =
nullptr)
161 , validationError(customValidationError)
162 , parsingError(customParsingError)
163 , validationDataError(customValidationDataError)
166 const char *label =
nullptr;
167 const char *validationError =
nullptr;
168 const char *parsingError =
nullptr;
169 const char *validationDataError =
nullptr;
172class ValidatorRulePrivate;
312 const QString &defValKey = QString());
320 const QScopedPointer<ValidatorRulePrivate> d_ptr;
377 QString field()
const;
384 QString label(
Context *c)
const;
397 bool trimBefore()
const;
413 QString validationError(
Context *c,
const QVariant &errorData = QVariant())
const;
445 virtual QString genericValidationError(
Context *c,
446 const QVariant &errorData = QVariant())
const;
462 QString parsingError(
Context *c,
const QVariant &errorData = QVariant())
const;
494 virtual QString genericParsingError(
Context *c,
const QVariant &errorData = QVariant())
const;
510 QString validationDataError(
Context *c,
const QVariant &errorData = QVariant())
const;
542 virtual QString genericValidationDataError(
Context *c,
543 const QVariant &errorData = QVariant())
const;
562 void setTranslationContext(QLatin1String trContext);
574 void setTrimBefore(
bool trimBefore);
577 friend class ValidatorPrivate;
Base class for all validator rules.
virtual ValidatorReturnType validate(Context *c, const ParamsMultiMap ¶ms) const =0
Starts the validation and returns the result.
Validation processor for input data.
The Cutelyst namespace holds all public Cutelyst API.
QMultiMap< QString, QString > ParamsMultiMap
Stores custom error messages and the input field label.
ValidatorMessages(const char *customLabel, const char *customValidationError=nullptr, const char *customParsingError=nullptr, const char *customValidationDataError=nullptr)
Constructs a new ValidatorMessages object with the given parameters.
ValidatorMessages()
Constructs a default ValidatorMessages object with all custom messages disabled.
Contains the result of a single input parameter validation.
bool isValid() const
Returns true if validation succeeded.