はじめに Ectoのchangesetでのバリデーションについては、すでに投稿されている記事がいくつかありますが、 実際のプロダクト開発でよく使うケースを中心に実装のハンズオンを作成しました。 実装の概要は以下です。 Phoenix標準のEEXでユーザー登録を行うWebアプリを実装する。 DBはデフォルトのPostgreSQLを選択する。 Ecto.Changesetで入力チェックを行う。 必須項目チェックの内容をカスタマイズする パスワードの桁範囲、許容文字チェックを行う(パスワードのハッシュ化については別の記事が参考になるので割愛) 電話番号が全角入力されたら自動的に半角変換する emailアドレスが正しい書式かフォーマットをチェックする コード値項目は事前に定義したメンバーと一致するか妥当性チェックを行う。 メールアドレスを業務的なユニークキーとして、重複チェックを行う。 実装の前提
