cutelyst 5.0.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
validatorpwquality.h
1/*
2 * SPDX-FileCopyrightText: (C) 2018-2025 Matthias Fehring <mf@huessenbergnetz.de>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef CUTELYSTVALIDATORPWQUALITY_H
6#define CUTELYSTVALIDATORPWQUALITY_H
7
8#include "validatorrule.h"
9
10namespace Cutelyst {
11
12class ValidatorPwQualityPrivate;
13
57class CUTELYST_PLUGIN_UTILS_VALIDATOR_EXPORT ValidatorPwQuality : public ValidatorRule
58{
59public:
63 static constexpr int defaultThreshold{30};
64
78 explicit ValidatorPwQuality(const QString &field,
79 int threshold = ValidatorPwQuality::defaultThreshold,
80 const QVariant &options = QVariant(),
81 const QString &userName = {},
82 const QString &oldPassword = {},
83 const ValidatorMessages &messages = ValidatorMessages());
84
89
102 static int validate(const QString &value,
103 const QVariant &options = {},
104 const QString &oldPassword = {},
105 const QString &user = {});
106
118 static QString errorString(const Context *c,
119 int returnValue,
120 const QString &label = {},
121 int threshold = 0);
122
123protected:
130 ValidatorReturnType validate(Context *c, const ParamsMultiMap &params) const override;
131
141 void validateCb(Context *c, const ParamsMultiMap &params, ValidatorRtFn cb) const override;
142
146 QString genericValidationError(Context *c, const QVariant &errorData) const override;
147
148private:
149 Q_DECLARE_PRIVATE(ValidatorPwQuality) // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast)
150 Q_DISABLE_COPY(ValidatorPwQuality)
151};
152
153} // namespace Cutelyst
154
155#endif // CUTELYSTVALIDATORPWQUALITY_H
Validates an input field with libpwquality to check password quality.
Base class for all validator rules.
The Cutelyst namespace holds all public Cutelyst API.