struct ValidationContext;
struct IValidator {
- virtual ~IValidator() {}
+ virtual ~IValidator() = default;
private:
- friend class ValidationContext;
+ friend struct ValidationContext;
virtual Optional<SchemaError> validate(ValidationContext&,
const dynamic& value) const = 0;
* Root validator for a schema.
*/
struct SchemaValidator final : IValidator, public Validator {
- SchemaValidator() {}
+ SchemaValidator() = default;
void loadSchema(SchemaValidatorContext& context, const dynamic& schema);
Optional<SchemaError> validate(ValidationContext&,
if (type_ == Type::MIN) {
if (exclusive_) {
if (v <= s) {
- return makeError("greater than", schema_, value);
+ return makeError("greater than ", schema_, value);
}
} else {
if (v < s) {
- return makeError("greater than or equal to", schema_, value);
+ return makeError("greater than or equal to ", schema_, value);
}
}
} else if (type_ == Type::MAX) {
if (exclusive_) {
if (v >= s) {
- return makeError("less than", schema_, value);
+ return makeError("less than ", schema_, value);
}
} else {
if (v > s) {
- return makeError("less than or equal to", schema_, value);
+ return makeError("less than or equal to ", schema_, value);
}
}
}
if (value.isObject()) {
for (const auto& prop : properties_) {
if (!value.get_ptr(prop)) {
- return makeError("to have property", prop, value);
+ return makeError("property ", prop, value);
}
}
}
for (const auto& pair : patternProperties->items()) {
if (pair.first.isString()) {
patternPropertyValidators_.emplace_back(
- make_pair(boost::regex(pair.first.getString().toStdString()),
- SchemaValidator::make(context, pair.second)));
+ boost::regex(pair.first.getString().toStdString()),
+ SchemaValidator::make(context, pair.second));
}
}
}
propertyDep_.emplace_back(std::move(p));
}
if (pair.second.isObject()) {
- schemaDep_.emplace_back(
- make_pair(pair.first.getString(),
- SchemaValidator::make(context, pair.second)));
+ schemaDep_.emplace_back(pair.first.getString(),
+ SchemaValidator::make(context, pair.second));
}
}
}
if (value.count(pair.first)) {
for (const auto& prop : pair.second) {
if (!value.count(prop)) {
- return makeError("property", prop, value);
+ return makeError("property ", prop, value);
}
}
}
});
}
-Validator::~Validator() {}
+Validator::~Validator() = default;
std::unique_ptr<Validator> makeValidator(const dynamic& schema) {
auto v = make_unique<SchemaValidator>();