honojs-middleware/packages/class-validator
github-actions[bot] 08981e9e78
Version Packages (#1286)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-06 17:43:37 +09:00
..
src chore: format codes (#1142) 2025-04-27 19:28:24 +09:00
CHANGELOG.md Version Packages (#816) 2024-11-08 12:26:21 +09:00
README.md chore: add coverage badges (#1023) 2025-03-19 17:53:11 +09:00
deno.json Version Packages (#1286) 2025-07-06 17:43:37 +09:00
package.json refactor(release): version jsr without sponge (#1284) 2025-07-06 10:28:02 +09:00
tsconfig.build.json refactor(tsconfig): use `configDir` (#1238) 2025-06-19 16:52:41 +09:00
tsconfig.json refactor: composite build (#1230) 2025-06-16 11:23:47 +09:00
tsconfig.spec.json refactor(tsconfig): use `configDir` (#1238) 2025-06-19 16:52:41 +09:00
vitest.config.ts build: typescript project references (#1077) 2025-04-02 18:28:02 +09:00

README.md

Class-validator middleware for Hono

codecov

The validator middleware using class-validator for Hono applications.

Usage

import { classValidator } from '@hono/class-validator'
import { IsInt, IsString } from 'class-validator'

class CreateUserDto {
  @IsString()
  name!: string

  @IsInt()
  age!: number
}

const route = app.post('/user', classValidator('json', CreateUserDto), (c) => {
  const user = c.req.valid('json')
  return c.json({ success: true, message: `${user.name} is ${user.age}` })
})

With hook:

import { classValidator } from '@hono/class-validator'
import { IsInt, IsString } from 'class-validator'

class CreateUserDto {
  @IsString()
  name!: string

  @IsInt()
  age!: number
}

app.post(
  '/user',
  classValidator('json', CreateUserDto, (result, c) => {
    if (!result.success) {
      return c.text('Invalid!', 400)
    }
  })
  //...
)

Author

Pr0m3ht3us - https://github.com/pr0m3th3usex

License

MIT