cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Checks if the value of the input field contains a FQDN according to RFC 1035. More...
#include <Cutelyst/Plugins/Utils/validatordomain.h>
Public Types | |
enum | Diagnose : quint8 { Valid , MissingDNS , InvalidChars , LabelTooLong , TooLong , InvalidLabelCount , EmptyLabel , InvalidTLD , DashStart , DashEnd , DigitStart , DNSTimeout } |
Possible diagnose information for the checked domain. More... | |
Public Member Functions | |
ValidatorDomain (const QString &field, bool checkDNS=false, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString()) | |
Constructs a new ValidatorDomain object with the given parameters. More... | |
~ValidatorDomain () override | |
Public Member Functions inherited from Cutelyst::ValidatorRule | |
ValidatorRule (const QString &field, const ValidatorMessages &messages={}, const QString &defValKey={}, QByteArrayView validatorName=nullptr) | |
virtual | ~ValidatorRule () |
Deconstructs the ValidatorRule. | |
Static Public Member Functions | |
static QString | diagnoseString (Context *c, Diagnose diagnose, const QString &label=QString()) |
static bool | validate (const QString &value, bool checkDNS, Diagnose *diagnose=nullptr, QString *extractedValue=nullptr) |
Returns true if value is a valid fully qualified domain name. More... | |
Protected Member Functions | |
QString | genericValidationError (Context *c, const QVariant &errorData=QVariant()) const override |
Returns a generic error message if validation failed. More... | |
ValidatorReturnType | validate (Context *c, const ParamsMultiMap ¶ms) const override |
Protected Member Functions inherited from Cutelyst::ValidatorRule | |
ValidatorRule (ValidatorRulePrivate &dd) | |
QString | debugString (Context *c) const |
void | defaultValue (Context *c, ValidatorReturnType *result) const |
QString | field () const noexcept |
virtual QString | genericParsingError (Context *c, const QVariant &errorData={}) const |
virtual QString | genericValidationDataError (Context *c, const QVariant &errorData={}) const |
QString | label (Context *c) const |
QString | parsingError (Context *c, const QVariant &errorData={}) const |
bool | trimBefore () const noexcept |
QString | validationDataError (Context *c, const QVariant &errorData={}) const |
QString | validationError (Context *c, const QVariant &errorData={}) const |
QString | value (const ParamsMultiMap ¶ms) const |
The field under validation must contain a fully qualified domain name according to RFC 1035. If checkDNS is set to false
, there will be no check if the domain is known to the domain name system, the validator will only check conformance to RFC 1035. Internationalized domain names will first be converted into puny code according to IDNA.
Definition at line 39 of file validatordomain.h.
enum Cutelyst::ValidatorDomain::Diagnose : quint8 |
Definition at line 46 of file validatordomain.h.
ValidatorDomain::ValidatorDomain | ( | const QString & | field, |
bool | checkDNS = false , |
||
const ValidatorMessages & | messages = ValidatorMessages() , |
||
const QString & | defValKey = QString() |
||
) |
field | Name of the input field to validate. |
checkDNS | If true , a DNS lookup will be performed to check if the domain name exists in the domain name system. |
messages | Custom error messages if validation fails. |
defValKey | Stash key containing a default value if input field is empty. This value will NOT be validated. |
Definition at line 16 of file validatordomain.cpp.
|
overridedefault |
Destroys the ValidatorDomain object.
|
static |
Returns a human readable description of a Diagnose.
c | Current Context, used for translations. |
diagnose | The Diagnose to get the description for. |
label | Optinonal label that will be part of the diagnose string if not empty. |
Definition at line 219 of file validatordomain.cpp.
References QString::arg(), DashEnd, DashStart, DigitStart, DNSTimeout, EmptyLabel, InvalidChars, InvalidLabelCount, InvalidTLD, QString::isEmpty(), Cutelyst::ValidatorRule::label(), LabelTooLong, MissingDNS, Cutelyst::Context::qtTrId(), TooLong, and Valid.
Referenced by genericValidationError().
|
overrideprotectedvirtual |
errorData will contain the Diagnose returned by ValidatorDomain::validate().
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 413 of file validatordomain.cpp.
References diagnoseString(), Cutelyst::ValidatorRule::label(), and QVariant::value().
|
overrideprotectedvirtual |
Performs the validation on the input params and returns the result.
If validation succeeded, ValidatorReturnType::value will contain the input paramter value as ACE version of the domain in a QString.
Implements Cutelyst::ValidatorRule.
Definition at line 332 of file validatordomain.cpp.
References QString::count(), DashEnd, DashStart, Cutelyst::ValidatorRule::debugString(), Cutelyst::ValidatorRule::defaultValue(), DigitStart, DNSTimeout, EmptyLabel, Cutelyst::ValidatorReturnType::errorMessage, InvalidChars, InvalidLabelCount, InvalidTLD, QString::isEmpty(), LabelTooLong, MissingDNS, QVariant::setValue(), TooLong, Valid, validate(), Cutelyst::ValidatorRule::validationError(), Cutelyst::ValidatorReturnType::value, and Cutelyst::ValidatorRule::value().