---
changelog:
  category: Release
  version: 1.8.9
date: '2025-09-15T13:20:31Z'
seo:
  description: >-
    The Request Validation Plugin ensures that only valid requests are sent to
    your server. This is especially valuable for applications that depend on…
title: v1.8.9
type: changelog
---
### Request Validation Plugin [docs](https://orpc.dinwwwh.com/docs/plugins/request-validation)

The Request Validation Plugin ensures that only valid requests are sent to your server. This is especially valuable for applications that depend on server-side validation.

You can simplify your frontend by removing heavy form validation libraries and relying on oRPC's validation errors instead, since input validation runs directly in the browser and is highly performant.

```tsx
export function ContactForm() {
  const [error, setError] = useState()

  const handleSubmit = async (form: FormData) => {
    try {
      const output = await client.someProcedure(parseFormData(form))
      console.log(output)
    }
    catch (error) {
      setError(error)
    }
  }

  return (
    <form action={handleSubmit}>
      <input name="user[name]" type="text" />
      <span>{getIssueMessage(error, 'user[name]')}</span>

      <input name="user[emails][]" type="email" />
      <span>{getIssueMessage(error, 'user[emails][]')}</span>

      <button type="submit">Submit</button>
    </form>
  )
}
```

---

> [!NOTE]
> If you find oRPC valuable and would like to support its development, you can do so [here](https://github.com/sponsors/dinwwwh).

### &nbsp;&nbsp;&nbsp;🚀 Features

- **contract**: Request Validation Plugin &nbsp;-&nbsp; by @dinwwwh in https://github.com/middleapi/orpc/issues/1000 [<samp>(e4b0d)</samp>](https://github.com/middleapi/orpc/commit/e4b0df63)

### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes

- **contract**: Cannot be named without a reference AsyncIteratorClass &nbsp;-&nbsp; by @dinwwwh [<samp>(c68ce)</samp>](https://github.com/middleapi/orpc/commit/c68ce2d5)

##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/middleapi/orpc/compare/v1.8.8...v1.8.9)
