cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorurl.h
1/*
2 * SPDX-FileCopyrightText: (C) 2017-2023 Matthias Fehring <mf@huessenbergnetz.de>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef CUTELYSTVALIDATORURL_H
6#define CUTELYSTVALIDATORURL_H
7
8#include "validatorrule.h"
9
10#include <Cutelyst/cutelyst_global.h>
11
12namespace Cutelyst {
13
14class ValidatorUrlPrivate;
15
35class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorUrl : public ValidatorRule
36{
37public:
42 NoConstraint = 0,
43 StrictParsing = 1,
44 NoRelative = 2,
45 NoLocalFile = 4,
46 WebsiteOnly = 8,
48 };
49 Q_DECLARE_FLAGS(Constraints, Constraint)
50
51
61 ValidatorUrl(const QString &field,
62 Constraints constraints = NoConstraint,
63 const QStringList &schemes = QStringList(),
64 const ValidatorMessages &messages = ValidatorMessages(),
65 const QString &defValKey = QString());
66
70 ~ValidatorUrl() override;
71
72protected:
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(ValidatorUrl) // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
89 Q_DISABLE_COPY(ValidatorUrl)
90};
91
92} // namespace Cutelyst
93
94Q_DECLARE_OPERATORS_FOR_FLAGS(Cutelyst::ValidatorUrl::Constraints)
95
96#endif // CUTELYSTVALIDATORURL_H
The Cutelyst Context.
Definition context.h:42
Base class for all validator rules.
The field under validation must be a valid URL.
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.