cutelyst 5.0.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorrequiredunlessstash.h
1/*
2 * SPDX-FileCopyrightText: (C) 2018-2025 Matthias Fehring <mf@huessenbergnetz.de>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef CUTELYSTVALIDATORREQUIREDUNLESSSTASH_H
7#define CUTELYSTVALIDATORREQUIREDUNLESSSTASH_H
8
9#include "validatorrule.h"
10
11namespace Cutelyst {
12
13class ValidatorRequiredUnlessStashPrivate;
14
47class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorRequiredUnlessStash : public ValidatorRule
48{
49public:
63 const QString &stashKey,
64 const QVariant &stashValues,
65 const ValidatorMessages &messages = ValidatorMessages());
66
71
72protected:
79 ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
80
90 void validateCb(Context *c, const ParamsMultiMap &params, ValidatorRtFn cb) const override;
91
95 QString genericValidationError(Context *c,
96 const QVariant &errorData = QVariant()) const override;
97
98private:
99 // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
100 Q_DECLARE_PRIVATE(ValidatorRequiredUnlessStash)
101 Q_DISABLE_COPY(ValidatorRequiredUnlessStash)
102};
103
104} // namespace Cutelyst
105
106#endif // CUTELYSTVALIDATORREQUIREDUNLESSSTASH_H
The Cutelyst Context.
Definition context.h:42
The field under validation must be present and not empty unless the content of a stash key is equal t...
Base class for all validator rules.
std::function< void(ValidatorReturnType &&result)> ValidatorRtFn
Void callback function for validator rules that processes the ValidatorReturnType.
The Cutelyst namespace holds all public Cutelyst API.
Stores custom error messages and the input field label.
Contains the result of a single input parameter validation.