Zod enums で空文字を許容したい
どうしても Zod enums 上で空文字を許容したかったので、その方法を備忘録します。
はじめは、nullable や optional が許容できれば良いと考え、nullish を試しましたが、空文字が厳密に評価されてしまうため、うまくいきませんでした 🤔
そもそも空文字を要求することがないので、文献も見当たらず。
あーだこーだしていると、単純なことですが、enum 自体に空文字を追加することで対応できました 😅
1const schema = z.enum(["a", "b", ""]);
とはいえ、正直なところ、空文字を許容する enum はあまり良い方法でないと考えます。
要求自体や詳細設計を再考した方が良いかなと考えています。