6#include "validatorjson_p.h"
9#include <QJsonDocument>
11#include <QJsonParseError>
19 :
ValidatorRule(*new ValidatorJsonPrivate(field, expectedType, messages, defValKey))
40 qCDebug(C_VALIDATOR).noquote()
41 <<
debugString(c) <<
"A JSON array is expected but not provided";
44 qCDebug(C_VALIDATOR).noquote()
45 <<
debugString(c) <<
"A JSON object is expected but not provided";
47 switch (d->expectedType) {
84 return c->
qtTrId(
"cutelyst-valjson-genvalerr-exparray");
88 return c->
qtTrId(
"cutelyst-valjson-genvalerr-exparray-label");
93 return c->
qtTrId(
"cutelyst-valjson-genvalerr-expobject");
97 return c->
qtTrId(
"cutelyst-valjson-genvalerr-expobject-label");
106 return c->
qtTrId(
"cutelyst-valjson-genvalerr-data").
arg(jsonError);
109 return c->
qtTrId(
"cutelyst-valjson-genvalerr");
115 return c->
qtTrId(
"cutelyst-valjson-genvalerr-data-label").
arg(_label, jsonError);
119 return c->
qtTrId(
"cutelyst-valjson-genvalerr-label").
arg(_label);
QString qtTrId(const char *id, int n=-1) const
Checks if the inut data is valid JSON.
~ValidatorJson() override
ValidatorJson(const QString &field, ExpectedType expectedType=ExpectedType::All, const ValidatorMessages &messages={}, const QString &defValKey={})
ValidatorReturnType validate(Context *c, const ParamsMultiMap ¶ms) const override
QString genericValidationError(Context *c, const QVariant &errorData=QVariant()) const override
void validateCb(Context *c, const ParamsMultiMap ¶ms, ValidatorRtFn cb) const override
Base class for all validator rules.
QString validationError(Context *c, const QVariant &errorData={}) const
QString label(const Context *c) const
QString debugString(const Context *c) const
std::function< void(ValidatorReturnType &&result)> ValidatorRtFn
Void callback function for validator rules that processes the ValidatorReturnType.
void defaultValue(Context *c, ValidatorReturnType *result) const
QString value(const ParamsMultiMap ¶ms) const
The Cutelyst namespace holds all public Cutelyst API.
QJsonArray array() const const
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error)
bool isArray() const const
bool isObject() const const
QJsonObject object() const const
QString errorString() const const
QString arg(Args &&... args) const const
bool isEmpty() const const
QByteArray toUtf8() const const
bool isNull() const const
void setValue(QVariant &&value)
QString toString() const const
Stores custom error messages and the input field label.
Contains the result of a single input parameter validation.