フォーム設計時に考慮や気づいたことを記載しておく。日本語がかなりアレで記入者自身しか解読できないです。落ち着いたら書き直す。 フォームのバリデーション実装でjsとrubyの正規表現を結構やったから、それもまとめておきたいな。

api側で制御のためのフラグは余り利用しないようにする。 例えば、契約者と被保険者情報を入力するフォームが存在し、契約と同様の場合は被保険者情報の入力ができるとする。 この場合、被保険者は契約者と同じであるというフラグを持たせ管理する。 被保険者の入力項目に住所が契約と同じである場合に、入力を省略できる場合は、上記と同じようにテーブルにフラグで管理するのではなく、もし同じだったら契約者の住所の値を被保険者の住所に代入して上げてapiにpostする。 すると、api側のバリデーションチェックは契約者と同じフラグがtrueである場合とfalseである場合の2パターンを香料するだけで良くなる。 文字数制限(maxlength)などhtml側で制御できるものはそちらでおこなう。 使い易さを考慮し、入力項目はできるだけ文字種を絞り込まず、api側で値をDBに保存する前に変換して保存する。 例えば、姓(カナ)という項目には全角カナ・半角カナを許可し、DBに保存する前にどちらかに変換して保存する。 電話番号のフォーマットについて、 自宅番号の場合、市外局番は2~4桁を考慮。/[0-90-9]{2,4}[-ーー]{1}[0-90-9]{4}[-ーー]{1}[0-90-9]{4}/ frontとapiのバリデーションは合わせる。