Cutelyst  1.7.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 <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 QString &label=QString(), const QString &customError=QString())
 Constructs a new url validator. More...
 
 ~ValidatorUrl ()
 Deconstructs the validator.
 
void setConstraints (Constraints constraints)
 Sets optional validation contraints.
 
void setSchemes (const QStringList &schemes)
 Sets an optional list of valid schemes.
 
QString validate () const override
 Performs the validation and returns an empty QString on success, otherwise an error message.
 
- Public Member Functions inherited from Cutelyst::ValidatorRule
 ValidatorRule (const QString &field, const QString &label=QString(), const QString &customError=QString())
 Constructs a new ValidatorRule with given parameters and parent. More...
 
 ~ValidatorRule ()
 Deconstructs the ValidatorRule.
 
QString field () const
 Returns the name of the field to validate. More...
 
QString label () const
 Returns the human readable field label used for generic error messages. More...
 
ParamsMultiMap parameters () const
 Returns the parameters to validate. More...
 
void setCustomError (const QString &customError)
 Sets a cutom error returned with errorMessage() More...
 
void setCustomParsingError (const QString &custom)
 Sets a custom error message that is shown if parsing of input data fails. More...
 
void setCustomValidationDataError (const QString &custom)
 Sets a custom error message if validation data is invalid or missing. More...
 
void setField (const QString &field)
 Sets the name of the field to validate. More...
 
void setLabel (const QString &label)
 Sets human readable field label for generic error messages. More...
 
void setParameters (const ParamsMultiMap &params)
 Sets the request parameters to validate. More...
 
void setTrimBefore (bool trimBefore)
 Set to false to not trim input value before validation. More...
 
bool trimBefore () const
 Returns true if field value should be trimmed before validation. More...
 
QString value () const
 Returns the field value.
 

Protected Member Functions

 ValidatorUrl (ValidatorUrlPrivate &dd)
 Constructs a new ValidatorUrl object with the given private class.
 
QString genericValidationError () const override
 Returns a generic error message.
 
- Protected Member Functions inherited from Cutelyst::ValidatorRule
 ValidatorRule (ValidatorRulePrivate &dd)
 Constructs a new ValidatorRule object with the given private class.
 
virtual QString genericParsingError () const
 Returns a generic error message if an error occures while parsing input. More...
 
virtual QString genericValidationDataError () const
 Returns a generic error message if any validation data is missing or invalid. More...
 
QString parsingError () const
 Returns an error message if an error occured while parsing input. More...
 
QString validationDataError () const
 Returns an error message if any validation data is missing or invalid. More...
 
QString validationError () const
 Returns a descriptive error message if validation failed. More...
 

Detailed Description

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

If ValidatorRule::trimBefore() is set to true (the default), 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 Validator for general usage of validators.

Definition at line 41 of file validatorurl.h.

Member Enumeration Documentation

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

Constructor & Destructor Documentation

Cutelyst::ValidatorUrl::ValidatorUrl ( const QString &  field,
Constraints  constraints = NoConstraint,
const QStringList &  schemes = QStringList(),
const QString &  label = QString(),
const QString &  customError = QString() 
)
Parameters
fieldName of the input field to validate.
constraintsConstraints for parsing and validating the URL.
schemesList of allowed schemes for a valid URL.
labelHuman readable input field label, used for generic error messages.
customErrorCustom error message if validation fails.