Cutelyst  3.5.0
validatorurl.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2017-2022 Matthias Fehring <mf@huessenbergnetz.de>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELYSTVALIDATORURL_H
6 #define CUTELYSTVALIDATORURL_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include "validatorrule.h"
10 
11 namespace Cutelyst {
12 
13 class ValidatorUrlPrivate;
14 
30 class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorUrl : public ValidatorRule
31 {
32 public:
36  enum Constraint {
37  NoConstraint = 0,
38  StrictParsing = 1,
39  NoRelative = 2,
40  NoLocalFile = 4,
41  WebsiteOnly = 8,
42  };
43  Q_DECLARE_FLAGS(Constraints, Constraint)
44 
45 
53  ValidatorUrl(const QString &field, Constraints constraints = NoConstraint, const QStringList &schemes = QStringList(), const ValidatorMessages &messages = ValidatorMessages(), const QString &defValKey = QString());
54 
58  ~ValidatorUrl() override;
59 
60 protected:
67  ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
68 
72  QString genericValidationError(Context *c, const QVariant &errorData = QVariant()) const override;
73 
74 private:
75  Q_DECLARE_PRIVATE(ValidatorUrl)
76  Q_DISABLE_COPY(ValidatorUrl)
77 };
78 
79 }
80 
81 Q_DECLARE_OPERATORS_FOR_FLAGS(Cutelyst::ValidatorUrl::Constraints)
82 
83 #endif //CUTELYSTVALIDATORURL_H
84 
Stores custom error messages and the input field label.
The Cutelyst Context.
Definition: context.h:38
The field under validation must be a valid URL.
Definition: validatorurl.h:30
Constraint
Constraints to limit the validation.
Definition: validatorurl.h:36
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Base class for all validator rules.
Contains the result of a single input parameter validation.
Definition: validatorrule.h:49