|
@@ -42,17 +42,23 @@ public:
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
- void constraint(std::string const & name) { errors_.push_back({name}); }
|
|
|
|
|
|
|
+ void constraint(std::string const & name) { errors_.push_back(Errors{.constraint = name}); }
|
|
|
|
|
|
|
|
void visit(size_t item) { visited_items_.emplace(item); }
|
|
void visit(size_t item) { visited_items_.emplace(item); }
|
|
|
void visit(std::string const & property) { visited_properties_.emplace(property); }
|
|
void visit(std::string const & property) { visited_properties_.emplace(property); }
|
|
|
|
|
|
|
|
void error(size_t item, ValidationResult && result) {
|
|
void error(size_t item, ValidationResult && result) {
|
|
|
|
|
+ if (errors_.empty()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
errors_.back().items.emplace(item, std::move(result));
|
|
errors_.back().items.emplace(item, std::move(result));
|
|
|
visited_items_.emplace(item);
|
|
visited_items_.emplace(item);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void error(std::string const & property, ValidationResult && result) {
|
|
void error(std::string const & property, ValidationResult && result) {
|
|
|
|
|
+ if (errors_.empty()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
errors_.back().properties.emplace(property, std::move(result));
|
|
errors_.back().properties.emplace(property, std::move(result));
|
|
|
visited_properties_.emplace(property);
|
|
visited_properties_.emplace(property);
|
|
|
}
|
|
}
|