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(); }
141struct CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorMessages {
145 ValidatorMessages() {}
156 ValidatorMessages(
const char *customLabel,
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;
300class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorRule
310 ValidatorRule(
const QString &field,
311 const ValidatorMessages &messages = ValidatorMessages(),
317 virtual ~ValidatorRule();
325 ValidatorRule(ValidatorRulePrivate &dd);
371 virtual ValidatorReturnType validate(Context *c,
const ParamsMultiMap ¶ms)
const = 0;
384 QString label(Context *c)
const;
389 QString value(
const ParamsMultiMap ¶ms)
const;
397 bool trimBefore()
const;
445 virtual QString genericValidationError(Context *c,
542 virtual QString genericValidationDataError(Context *c,
551 void defaultValue(Context *c, ValidatorReturnType *result,
const char *validatorName)
const;
554 Q_DECLARE_PRIVATE(ValidatorRule)
555 Q_DISABLE_COPY(ValidatorRule)
574 void setTrimBefore(
bool trimBefore);
576 friend class Validator;
577 friend class ValidatorPrivate;
The Cutelyst namespace holds all public Cutelyst API.
bool isNull() const const
Contains the result of a single input parameter validation.
bool isValid() const
Returns true if validation succeeded.