cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorjson.h
1/*
2 * SPDX-FileCopyrightText: (C) 2017-2023 Matthias Fehring <mf@huessenbergnetz.de>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef CUTELYSTVALIDATORJSON_H
6#define CUTELYSTVALIDATORJSON_H
7
8#include "validatorrule.h"
9
10#include <Cutelyst/cutelyst_global.h>
11
12namespace Cutelyst {
13
14class ValidatorJsonPrivate;
15
38class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorJson : public ValidatorRule
39{
40public:
44 enum class ExpectedType {
45 All,
47 Array,
49 Object
51 };
52
61 ValidatorJson(const QString &field,
62 ExpectedType expectedType = ExpectedType::All,
63 const ValidatorMessages &messages = ValidatorMessages(),
64 const QString &defValKey = QString());
65
69 ~ValidatorJson() override;
70
71protected:
79 ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
80
84 QString genericValidationError(Context *c,
85 const QVariant &errorData = QVariant()) const override;
86
87private:
88 Q_DECLARE_PRIVATE(ValidatorJson) // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
89 Q_DISABLE_COPY(ValidatorJson)
90};
91
92} // namespace Cutelyst
93
94#endif // CUTELYSTVALIDATORJSON_H
The Cutelyst Context.
Definition context.h:42
Checks if the inut data is valid JSON.
Base class for all validator rules.
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.