Validationを付与する
前回作成したUserのCRUDアプリにバリデーションをつけてみます。
まずapp/model/user.rbを開いて、バリデーションの定義を追記します。
- create時にnameはユニークでないとだめ
- nameは3〜40(多分Byte)
- passwordは5〜40
ソースはこんな感じ。意外にわかりやすいかも。
class User < ActiveRecord::Base validates_uniqueness_of :name, :on => :create validates_length_of :name, :within => 3..40 validates_length_of :password, :within => 5..40 end
では、動作を確認します。
Webブラウザでhttp://localhost:3000/users/にアクセスしてデータ新規登録を実行。ちなみにnameもpasswordを何も入力していません。
そうすると、ちゃんとバリデーションエラーが返ってきました。
3 errors prohibited this user from being saved There were problems with the following fields: Name is too short (min is 3 characters) Name has already been taken Password is too short (min is 5 characters)
これもかなりお手軽です。