cutelyst  5.0.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorrequiredwithall.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2017-2025 Matthias Fehring <mf@huessenbergnetz.de>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELYSTVALIDATORREQUIREDWITHALL_H
6 #define CUTELYSTVALIDATORREQUIREDWITHALL_H
7 
8 #include "validatorrule.h"
9 
10 #include <QStringList>
11 
12 namespace Cutelyst {
13 
14 class ValidatorRequiredWithAllPrivate;
15 
39 class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorRequiredWithAll : public ValidatorRule
40 {
41 public:
50  ValidatorRequiredWithAll(const QString &field,
51  const QStringList &otherFields,
52  const ValidatorMessages &messages = ValidatorMessages());
53 
57  ~ValidatorRequiredWithAll() override;
58 
59 protected:
66  ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
67 
77  void validateCb(Context *c, const ParamsMultiMap &params, ValidatorRtFn cb) const override;
78 
82  QString genericValidationError(Context *c,
83  const QVariant &errorData = QVariant()) const override;
84 
85 private:
86  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
87  Q_DECLARE_PRIVATE(ValidatorRequiredWithAll)
88  Q_DISABLE_COPY(ValidatorRequiredWithAll)
89 };
90 
91 } // namespace Cutelyst
92 
93 #endif // CUTELYSTVALIDATORREQUIREDWITHALL_H
Stores custom error messages and the input field label.
The field under validation must be present and not empty only if all of the other specified fields ar...
The Cutelyst Context.
Definition: context.h:42
The Cutelyst namespace holds all public Cutelyst API.
Base class for all validator rules.
std::function< void(ValidatorReturnType &&result)> ValidatorRtFn
Void callback function for validator rules that processes the ValidatorReturnType.
Definition: validatorrule.h:82
Contains the result of a single input parameter validation.
Definition: validatorrule.h:52