| 319 | } |
| 320 | |
| 321 | func validateAnyOf(r Registry, s *Schema, path *PathBuffer, mode ValidateMode, v any, res *ValidateResult) { |
| 322 | matches := 0 |
| 323 | subRes := &ValidateResult{} |
| 324 | for _, sub := range s.AnyOf { |
| 325 | Validate(r, sub, path, mode, v, subRes) |
| 326 | if len(subRes.Errors) == 0 { |
| 327 | matches++ |
| 328 | } |
| 329 | subRes.Reset() |
| 330 | } |
| 331 | |
| 332 | if matches == 0 { |
| 333 | res.Add(path, v, validation.MsgExpectedMatchAtLeastOneSchema) |
| 334 | } |
| 335 | } |
| 336 | |
| 337 | func validateDiscriminator(r Registry, s *Schema, path *PathBuffer, mode ValidateMode, v any, res *ValidateResult) { |
| 338 | var kk any |