5#ifndef CUTELYSTVALIDATOREMAIL_H
6#define CUTELYSTVALIDATOREMAIL_H
8#include "validatorrule.h"
12class ValidatorEmailPrivate;
185 Q_DECLARE_FLAGS(Options, Option)
197 Category threshold = RFC5321,
198 Options options = NoOption,
200 const QString &defValKey = {});
223 static QString categoryString(
const Context *c, Category category,
const QString &label = {});
230 static Category category(Diagnose diagnose);
240 static QString categoryString(
const Context *c, Diagnose diagnose,
const QString &label = {});
260 QList<Diagnose> *diagnoses =
nullptr);
277 const QString &email,
281 void(
bool isValid,
const QString &cleanedEmail,
const QList<Diagnose> &diagnoses)> cb);
314 const QVariant &errorData = QVariant())
const override;
323Q_DECLARE_OPERATORS_FOR_FLAGS(Cutelyst::ValidatorEmail::Options)
Checks if the value is a valid email address according to specific RFCs.
Category
Validation category, used as threshold to define valid addresses.
ValidatorEmail(const QString &field, Category threshold=RFC5321, Options options=NoOption, const ValidatorMessages &messages={}, const QString &defValKey={})
~ValidatorEmail() override
Diagnose
Single diagnose values that show why an address is not valid.
@ ErrorUnclosedDomLiteral
QString genericValidationError(Context *c, const QVariant &errorData=QVariant()) const override
static QString diagnoseString(const Context *c, Diagnose diagnose, const QString &label={})
QString label(const Context *c) const
ValidatorRule(const QString &field, const ValidatorMessages &messages={}, const QString &defValKey={}, QByteArrayView validatorName=nullptr)
std::function< void(ValidatorReturnType &&result)> ValidatorRtFn
Void callback function for validator rules that processes the ValidatorReturnType.
QMultiMap< QString, QString > ParamsMultiMap
static void validateCb(const QString &email, Category threshold, Options options, std::function< void(bool isValid, const QString &cleanedEmail, const QList< Diagnose > &diagnoses)> cb)
Checks if the email is a valid address according to the Category given in the threshold.
static bool validate(const QString &email, Category threshold=RFC5321, Options options=NoOption, QList< Diagnose > *diagnoses=nullptr)
Returns true if email is a valid address according to the Category given in the threshold.
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.