ZodのEmailバリデーションでとくに問題ないメールアドレスなのにエラーっていわれてしまった。
Zodのバージョンは [email protected]
なので 2023/08/01時点で最新かと思います。
そのようなメールアドレスが問題なのか?
上記のメールアドレスにおいて、ドメイン部のハイフンがエラーになると怒らました。
どうやら c.email.polidog.jp
もしくは em-ail.polidog.jp
なら問題ないようです。
問題はなにか?
メールアドレス用の正規表現に問題があるようです。
https://github.com/colinhacks/zod/blob/22f3cc6ed52a28c984a0319a1a03e1af244cee02/src/types.ts#L553
どの用に対処するべきか?
じつはmasterブランチではこの問題は修正されています。
https://github.com/colinhacks/zod/blob/78a409012a4dc34a455f5c4a7e028ca47c921e1b/src/types.ts#L560
自分の場合は email()
を使わずに regex()
でメールアドレスのバリデーションをするように修正しました。
そのうち新しいバージョンがリリースされたら再度 email()
を使うと思っています。
|
|