5#ifndef CUTELYSTVALIDATORRULE_H
6#define CUTELYSTVALIDATORRULE_H
8#include <Cutelyst/Plugins/Utils/validator_export.h>
9#include <Cutelyst/context.h>
10#include <Cutelyst/paramsmultimap.h>
13#include <QLoggingCategory>
15#include <QScopedPointer>
18Q_DECLARE_LOGGING_CATEGORY(C_VALIDATOR)
68 explicit operator bool() const noexcept {
return errorMessage.
isNull(); }
73 [[nodiscard]]
bool isValid() const noexcept {
return errorMessage.
isNull(); }
170 const char *customValidationError =
nullptr,
171 const char *customParsingError =
nullptr,
172 const char *customValidationDataError =
nullptr)
174 , validationError(customValidationError)
175 , parsingError(customParsingError)
176 , validationDataError(customValidationDataError)
179 const char *label =
nullptr;
180 const char *validationError =
nullptr;
181 const char *parsingError =
nullptr;
182 const char *validationDataError =
nullptr;
185class ValidatorRulePrivate;
378 const std::unique_ptr<ValidatorRulePrivate> d_ptr;
481 [[nodiscard]]
QString field() const noexcept;
500 [[nodiscard]]
bool trimBefore() const noexcept;
564 [[nodiscard]]
QString parsingError(Context *c,
const QVariant &errorData = {})
const;
596 virtual QString genericParsingError(Context *c,
const QVariant &errorData = {})
const;
612 [[nodiscard]]
QString validationDataError(Context *c,
const QVariant &errorData = {})
const;
643 virtual QString genericValidationDataError(Context *c,
const QVariant &errorData = {})
const;
649 void defaultValue(Context *c, ValidatorReturnType *result)
const;
658 void defaultValue(Context *c, ValidatorRtFn cb)
const;
666 [[nodiscard]]
QString debugString(
const Context *c)
const;
669 Q_DECLARE_PRIVATE(ValidatorRule)
670 Q_DISABLE_COPY(ValidatorRule)
676 void setTranslationContext(
const char *trContext)
noexcept;
688 void setTrimBefore(
bool trimBefore)
noexcept;
690 friend class Validator;
691 friend class ValidatorPrivate;
692 friend class AsyncValidator;
Base class for all validator rules.
virtual ~ValidatorRule()
Deconstructs the ValidatorRule.
virtual ValidatorReturnType validate(Context *c, const ParamsMultiMap ¶ms) const =0
std::function< void(ValidatorReturnType &&result)> ValidatorRtFn
Void callback function for validator rules that processes the ValidatorReturnType.
The Cutelyst namespace holds all public Cutelyst API.
bool isNull() const const
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()=default
Contains the result of a single input parameter validation.
bool isValid() const noexcept