cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
The field under validation must be a valid URL. More...
#include <Cutelyst/Plugins/Utils/validatorurl.h>
Public Types | |
enum | Constraint { NoConstraint , StrictParsing , NoRelative , NoLocalFile , WebsiteOnly } |
Public Member Functions | |
ValidatorUrl (const QString &field, Constraints constraints=NoConstraint, const QStringList &schemes=QStringList(), const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString()) | |
~ValidatorUrl () 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. | |
Protected Member Functions | |
QString | genericValidationError (Context *c, const QVariant &errorData=QVariant()) const override |
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 |
Checks if the field contains a valid URL by loading it into a QUrl and testing it’s validity.
Definition at line 33 of file validatorurl.h.
Constraints to limit the validation.
Enumerator | |
---|---|
NoConstraint | No constraints set. |
StrictParsing | String will be parsed in strict mode. See QUrl::ParsingMode |
NoRelative | Relative URLs are not valid. |
NoLocalFile | Local file URLs are not Vaid. |
WebsiteOnly | Combines NoRelative and NoLocalFile and sets http and https to the schemes list. (Will overwrite existing list) |
Definition at line 39 of file validatorurl.h.
ValidatorUrl::ValidatorUrl | ( | const QString & | field, |
Constraints | constraints = NoConstraint , |
||
const QStringList & | schemes = QStringList() , |
||
const ValidatorMessages & | messages = ValidatorMessages() , |
||
const QString & | defValKey = QString() |
||
) |
Constructs a new ValidatorUrl object with the given parameters.
field | Name of the input field to validate. |
constraints | Constraints for parsing and validating the URL. |
schemes | List of allowed schemes for a valid URL. |
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 12 of file validatorurl.cpp.
|
overridedefault |
Destroys the ValidatorUrl object.
|
overrideprotectedvirtual |
Returns a generic error message if validation failed.
Reimplemented from Cutelyst::ValidatorRule.
Definition at line 105 of file validatorurl.cpp.
References QString::arg(), QString::isEmpty(), Cutelyst::ValidatorRule::label(), and Cutelyst::Context::qtTrId().
|
overrideprotectedvirtual |
Performs the validation on the input params and returns the result.
If validation succeeded, ValidatorReturnType::value will contain the input paramter value converted into QUrl.
Implements Cutelyst::ValidatorRule.
Definition at line 23 of file validatorurl.cpp.
References Cutelyst::ValidatorRule::debugString(), Cutelyst::ValidatorRule::defaultValue(), QList::empty(), Cutelyst::ValidatorReturnType::errorMessage, QUrl::isEmpty(), QString::isEmpty(), QUrl::isLocalFile(), QUrl::isRelative(), QUrl::isValid(), NoLocalFile, NoRelative, QUrl::scheme(), QVariant::setValue(), QUrl::StrictMode, StrictParsing, QUrl::TolerantMode, QString::toLower(), Cutelyst::ValidatorRule::validationError(), Cutelyst::ValidatorReturnType::value, Cutelyst::ValidatorRule::value(), and WebsiteOnly.