React forms with Schema Validation2021/01/12 kamijin-fanta
View Slide
TypeScriptやってますかデータ構造のValidationやってますか
Data Structure Validationフィールド型・データの範囲などを定義・検証する仕組み⼈間が検証コードを書く必要が無くなって良いspecJSON SchemaSwaggerimpl: go, python等様々な⾔語にてライブラリが存在{"type": "string","minLength": 2,"maxLength": 3}
superstructTypeScriptで利⽤できるデータ検証ライブラリhttps://docs.superstructjs.org/サンプルコード: https://github.com/kamijin-fanta/react-form-schemavalidation-example/blob/master/src/superstruct/basic.test.ts
superstructの使いみちAPIで投げられたPOST Bodyの検証ユーザの⼊⼒フォームの検証 ← 便利そう
react-hook-formパフォーマンスが良いReactのフォームライブラリバリデーション・繰り返しフィールド等の機能が⼀通り揃っていて良いサンプルコード: https://github.com/kamijin-fanta/react-form-schemavalidation-example/blob/master/src/simple-form/simple-form.tsx
react-hook-formの⾯倒な所エラー⽂章を⾃分で書く必要が有るバリデーション内容から勝⼿に⽂章作って欲しいerrors onSubmit が型安全でない
react-hook-form+superstructreact-hook-form で書いていたルールを全てsuperstructで定義するsuperstructがエラー⽂の⽣成するsuperstructが型を定義するreact-hook-formの⾟さを軽減出来るhttps://github.com/kamijin-fanta/react-form-schemavalidation-example/blob/master/src/schema-validation-form/schema-validation-form.tsx
react-hook-form+superstruct構成はreactでフォーム作る⼈にオススメ