Zodで初期値のないラジオボタンを作ると、サブミット時にエラーメッセージが `Expected string, received null` となる
[zod]
zod で次のようなバリデーションを作成したとき、
フォームで初期値のないラジオボタンを置くと、
サブミット時に表示されるエラーが「オプションの有無を選択してください」ではなく “Expected string, received null” となってしまう。
回避方法 1
optional()
をつけて、エラーメッセージをinvalid_type_error
にする
回避策 2
FieldArray を使っていると回避策 1 が動かないことがある、その場合nullish()
をつけてrefine()
でエラーメッセージを設定する