cutelyst  5.0.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorin.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2017-2025 Matthias Fehring <mf@huessenbergnetz.de>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELYSTVALIDATORIN_H
6 #define CUTELYSTVALIDATORIN_H
7 
8 #include "validatorrule.h"
9 
10 namespace Cutelyst {
11 
12 class ValidatorInPrivate;
13 
35 class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorIn : public ValidatorRule
36 {
37 public:
51  ValidatorIn(const QString &field,
52  const QVariant &values,
54  const ValidatorMessages &messages = ValidatorMessages(),
55  const QString &defValKey = {});
56 
60  ~ValidatorIn() override;
61 
62 protected:
69  ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
70 
80  void validateCb(Context *c, const ParamsMultiMap &params, ValidatorRtFn cb) const override;
81 
85  QString genericValidationError(Context *c,
86  const QVariant &errorData = QVariant()) const override;
87 
91  QString genericValidationDataError(Context *c, const QVariant &errorData) const override;
92 
93 private:
94  Q_DECLARE_PRIVATE(ValidatorIn) // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
95  Q_DISABLE_COPY(ValidatorIn)
96 };
97 
98 } // namespace Cutelyst
99 
100 #endif // CUTELYSTVALIDATORIN_H
Stores custom error messages and the input field label.
The Cutelyst Context.
Definition: context.h:42
CaseSensitivity
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
Checks if the field value is one from a list of values.
Definition: validatorin.h:35
Contains the result of a single input parameter validation.
Definition: validatorrule.h:52