validateとは
本稿ではRailsのvalidate機能全般をvalidateと呼び、そのルールをvalidateルールと呼びます。
アーキテクチャルール
基本的にvalidateはRailsのvalidate機能を利用してつけてください。
DBの制約によるvalidationの実現は標準ではしていません。必要がある場合に、カスタマイズとして制約をつけてください。
ただしデフォルトで以下のようになるので制限がないわけではありません。
| Railsの定義 | MySQL型 | Max値 |
| :integer | int(11) | 11桁 |
| :string | varchar(255) | 255文字 |
| :text | text | 最大64KB |
アプリケーションルール
文字列の長さ
文字列の長さは unshiu では base.ym lに基本値が設定されています。特に問題がない場合はこの値を利用してください。
なお、値の単位は文字数です。(byte換算の必要はありません)
| キー | デフォルト値 | 説明 |
| title_max_length | 100 | タイトルの長さ |
| body_max_length | 5000 | 本文の長さ |
| comment_max_length | 2000 | コメントの長さ |
| name_max_length | 20 | 名前の長さ |
email
携帯キャリア側がRFC違反のメールアドレスの利用を許しているため、特別の事情がない限り以下のルールのメールアドレスの許可します
- @が1つだけ含まれている
- @より後ろに.で区切られた英数字がある
実際に利用する定義は以下になります。仕様変更した際に統一して変更ができるように共通して利用してください。
validates_legal_mail_address_of |