Cutelyst  3.5.0
validatorresult.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2017-2022 Matthias Fehring <mf@huessenbergnetz.de>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELYSTVALIDATORRESULT_H
6 #define CUTELYSTVALIDATORRESULT_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include <QString>
10 #include <QStringList>
11 #include <QSharedDataPointer>
12 #include <QVariantHash>
13 #include <QJsonObject>
14 
15 namespace Cutelyst {
16 
17 class ValidatorResultPrivate;
18 
68 class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorResult {
69 public:
77 
81  ValidatorResult(const ValidatorResult &other);
82 
86  ValidatorResult& operator =(const ValidatorResult &other);
87 
91  ~ValidatorResult();
92 
98  bool isValid() const;
99 
106  void addError(const QString &field, const QString &message);
107 
112  QStringList errorStrings() const;
113 
119  QHash<QString,QStringList> errors() const;
120 
128  QStringList errors(const QString &field) const;
129 
137  bool hasErrors(const QString &field) const;
138 
149  QJsonObject errorsJsonObject() const;
150 
156  QStringList failedFields() const;
157 
163  explicit operator bool() const {
164  return isValid();
165  }
166 
175  QVariantHash values() const;
176 
186  QVariant value(const QString &field) const;
187 
195  void addValue(const QString &field, const QVariant &value);
196 
205  QVariantHash extras() const;
206 
216  QVariant extra(const QString &field) const;
217 
225  void addExtra(const QString &field, const QVariant &extra);
226 
227 private:
229 };
230 
231 }
232 
233 #endif // CUTELYSTVALIDATORRESULT_H
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Provides information about performed validations.