Cutelyst  2.13.0
Public Types | Public Member Functions | Protected Member Functions | List of all members
Cutelyst::ValidatorUrl Class Reference

The field under validation must be a valid URL. More...

#include <Cutelyst/Plugins/Utils/validatorurl.h>

Inheritance diagram for Cutelyst::ValidatorUrl:
Inheritance graph
[legend]

Public Types

enum  Constraint {
  NoConstraint, StrictParsing, NoRelative, NoLocalFile,
  WebsiteOnly
}
 Constraints to limit the validation. More...
 

Public Member Functions

 ValidatorUrl (const QString &field, Constraints constraints=NoConstraint, const QStringList &schemes=QStringList(), const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString())
 Constructs a new url validator. More...
 
 ~ValidatorUrl () override
 Deconstructs the validator.
 
- Public Member Functions inherited from Cutelyst::ValidatorRule
 ValidatorRule (const QString &field, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString())
 Constructs a new ValidatorRule with the given parameters. More...
 
virtual ~ValidatorRule ()
 Deconstructs the ValidatorRule.
 

Protected Member Functions

QString genericValidationError (Context *c, const QVariant &errorData=QVariant()) const override
 Returns a generic error message if validation failed.
 
ValidatorReturnType validate (Context *c, const ParamsMultiMap &params) const override
 Performs the validation and returns the result. More...
 
- Protected Member Functions inherited from Cutelyst::ValidatorRule
 ValidatorRule (ValidatorRulePrivate &dd)
 Constructs a new ValidatorRule object with the given private class. More...
 
void defaultValue (Context *c, ValidatorReturnType *result, const char *validatorName) const
 I a defValKey has been set in the constructor, this will try to get the default value from the stash and put it into the result. More...
 
QString field () const
 Returns the name of the field to validate. More...
 
virtual QString genericParsingError (Context *c, const QVariant &errorData=QVariant()) const
 Returns a generic error message if an error occures while parsing input. More...
 
virtual QString genericValidationDataError (Context *c, const QVariant &errorData=QVariant()) const
 Returns a generic error message if any validation data is missing or invalid. More...
 
QString label (Context *c) const
 Returns the human readable field label used for generic error messages. More...
 
QString parsingError (Context *c, const QVariant &errorData=QVariant()) const
 Returns an error message if an error occured while parsing input. More...
 
bool trimBefore () const
 Returns true if the field value should be trimmed before validation. More...
 
QString validationDataError (Context *c, const QVariant &errorData=QVariant()) const
 Returns an error message if any validation data is missing or invalid. More...
 
QString validationError (Context *c, const QVariant &errorData=QVariant()) const
 Returns a descriptive error message if validation failed. More...
 
QString value (const ParamsMultiMap &params) const
 Returns the value of the field from the input params.
 

Detailed Description

Checks if the field contains a valid URL by loading it into a QUrl and testing it's validity.

Note
Unless validation is started with NoTrimming, whitespaces will be removed from the beginning and the end of the input value before validation. If the field's value is empty or if the field is missing in the input data, the validation will succeed without performing the validation itself. Use one of the required validators to require the field to be present and not empty.
See also
Validator for general usage of validators.

Definition at line 43 of file validatorurl.h.

Member Enumeration Documentation

◆ Constraint

Enumerator
NoConstraint 

No constraints set.

StrictParsing 

String will be parsed in strict mode. See http://doc.qt.io/qt-5/qurl.html#ParsingMode-enum

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 49 of file validatorurl.h.

Constructor & Destructor Documentation

◆ ValidatorUrl()

ValidatorUrl::ValidatorUrl ( const QString &  field,
Constraints  constraints = NoConstraint,
const QStringList &  schemes = QStringList(),
const ValidatorMessages messages = ValidatorMessages(),
const QString &  defValKey = QString() 
)
Parameters
fieldName of the input field to validate.
constraintsConstraints for parsing and validating the URL.
schemesList of allowed schemes for a valid URL.
messagesCustom error messages if validation fails.
defValKeyStash key containing a default value if input field is empty. This value will NOT be validated.

Definition at line 24 of file validatorurl.cpp.

Member Function Documentation

◆ validate()

ValidatorReturnType ValidatorUrl::validate ( Context c,
const ParamsMultiMap params 
) const
overrideprotectedvirtual