Cutelyst  3.5.0
validatorrequiredif.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2017-2022 Matthias Fehring <mf@huessenbergnetz.de>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef CUTELYSTVALIDATORREQUIREDIF_H
6 #define CUTELYSTVALIDATORREQUIREDIF_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include "validatorrule.h"
10 #include <QStringList>
11 
12 namespace Cutelyst {
13 
14 class ValidatorRequiredIfPrivate;
15 
32 class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorRequiredIf : public ValidatorRule
33 {
34 public:
42  ValidatorRequiredIf(const QString &field, const QString &otherField, const QStringList &otherValues, const ValidatorMessages &messages = ValidatorMessages());
43 
47  ~ValidatorRequiredIf() override;
48 
49 protected:
56  ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
57 
61  QString genericValidationError(Context *c, const QVariant &errorData = QVariant()) const override;
62 
63 private:
64  Q_DECLARE_PRIVATE(ValidatorRequiredIf)
65  Q_DISABLE_COPY(ValidatorRequiredIf)
66 };
67 
68 }
69 
70 #endif //CUTELYSTVALIDATORREQUIREDIF_H
71 
Stores custom error messages and the input field label.
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Base class for all validator rules.
The field under validation must be present and not empty if the other field is equal to any value in ...
Contains the result of a single input parameter validation.
Definition: validatorrule.h:49