27 const QString v =
value(params);
37 case QMetaType::Short:
40 case QMetaType::LongLong:
42 const qlonglong val = c->
locale().toLongLong(v, &ok);
43 if (Q_UNLIKELY(!ok)) {
45 qCWarning(C_VALIDATOR,
46 "ValidatorMin: Failed to parse value of field %s into number at %s::%s.",
48 qPrintable(c->controllerName()),
49 qPrintable(c->actionName()));
51 const qlonglong min = d->extractLongLong(c, params, d->min, &ok);
52 if (Q_UNLIKELY(!ok)) {
56 "ValidatorMin: Invalid minimum comparison value for field %s in %s::%s.",
58 qPrintable(c->controllerName()),
59 qPrintable(c->actionName()));
64 QVariantMap{{QStringLiteral(
"val"), val},
65 {QStringLiteral(
"min"), min}});
67 "ValidatorMin: Validation failed for field %s in %s::%s: %lli is "
68 "not greater than %lli.",
70 qPrintable(c->controllerName()),
71 qPrintable(c->actionName()),
80 case QMetaType::UChar:
81 case QMetaType::UShort:
83 case QMetaType::ULong:
84 case QMetaType::ULongLong:
86 const qulonglong val = v.toULongLong(&ok);
87 if (Q_UNLIKELY(!ok)) {
89 qCWarning(C_VALIDATOR,
90 "ValidatorMin: Failed to parse value of field %s into number at %s::%s.",
92 qPrintable(c->controllerName()),
93 qPrintable(c->actionName()));
95 const qulonglong min = d->extractULongLong(c, params, d->min, &ok);
96 if (Q_UNLIKELY(!ok)) {
100 "ValidatorMin: Invalid minimum comparison value for field %s in %s::%s.",
102 qPrintable(c->controllerName()),
103 qPrintable(c->actionName()));
108 QVariantMap{{QStringLiteral(
"val"), val},
109 {QStringLiteral(
"min"), min}});
111 "ValidatorMin: Validation failed for field %s in %s::%s: %llu is "
112 "not greater than %llu.",
114 qPrintable(c->controllerName()),
115 qPrintable(c->actionName()),
124 case QMetaType::Float:
125 case QMetaType::Double:
127 const double val = v.toDouble(&ok);
128 if (Q_UNLIKELY(!ok)) {
130 qCWarning(C_VALIDATOR,
131 "ValidatorMin: Failed to parse value of field %s into number at %s::%s.",
133 qPrintable(c->controllerName()),
134 qPrintable(c->actionName()));
136 const double min = d->extractDouble(c, params, d->min, &ok);
137 if (Q_UNLIKELY(!ok)) {
141 "ValidatorMin: Invalid minimum comparison value for field %s in %s::%s.",
143 qPrintable(c->controllerName()),
144 qPrintable(c->actionName()));
149 QVariantMap{{QStringLiteral(
"val"), val},
150 {QStringLiteral(
"min"), min}});
152 "ValidatorMin: Validation failed for field %s in %s::%s: %f is not "
155 qPrintable(c->controllerName()),
156 qPrintable(c->actionName()),
165 case QMetaType::QString:
167 const qlonglong val =
static_cast<qlonglong
>(v.length());
168 const qlonglong min = d->extractLongLong(c, params, d->min, &ok);
169 if (Q_UNLIKELY(!ok)) {
171 qCWarning(C_VALIDATOR,
172 "ValidatorMin: Invalid minimum comparison value for field %s in %s::%s.",
174 qPrintable(c->controllerName()),
175 qPrintable(c->actionName()));
179 c, QVariantMap{{QStringLiteral(
"val"), val}, {QStringLiteral(
"min"), min}});
181 "ValidatorMin: Validation failed for field %s in %s::%s: string length "
182 "%lli is not longer than %lli.",
184 qPrintable(c->controllerName()),
185 qPrintable(c->actionName()),
194 qCWarning(C_VALIDATOR,
195 "ValidatorMin: The comparison type with ID %i for field %s at %s::%s is not "
197 static_cast<int>(d->type),
199 qPrintable(c->controllerName()),
200 qPrintable(c->actionName()));
206 if (d->type != QMetaType::QString) {
207 const QVariant _v = d->valueToNumber(c, v, d->type);
214 result.
value.setValue(v);
QLocale locale() const noexcept
QString translate(const char *context, const char *sourceText, const char *disambiguation=nullptr, int n=-1) const
ValidatorMin(const QString &field, QMetaType::Type type, const QVariant &min, const ValidatorMessages &messages=ValidatorMessages(), const QString &defValKey=QString())
Constructs a new min validator.