# `PB.Validate.Error`
[🔗](https://github.com/hansihe/pb_ex/blob/v0.2.0/pb_validate/lib/pb/validate/error.ex#L1)

Structured validation failure.

Non-bang validation returns `{:error, %PB.Validate.Error{}}`. Bang
validation raises the same struct as an exception. The `violations` list uses
`PB.Validate.Violation`, which is richer than the canonical protobuf wire
shape.

# `t`

```elixir
@type t() :: %PB.Validate.Error{
  __exception__: term(),
  message_name: PB.message_name() | nil,
  operation: :validate,
  violations: [PB.Validate.Violation.t()]
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
