プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Ruby on Rails3、validateの基礎あれこれ
Ruby on Rails3では「Sexy Validation」とかいう
書き方ができるらしい。
うっふ~ん♪おえっ。

っつーわけでメモφ(--)

※自分用のメモなので随時追記していきます。

・validateはmodelに書く
・書式は「validates [項目名], [チェックの種類] => [チェック内容]」
  class Hoge < ActiveRecord::Base
      attr_accessible :aaa
  
      #チェック

      validates :aaa, :presence => true
  end

・項目がいっぱいある場合は縦に並べる
  class Hoge < ActiveRecord::Base
      attr_accessible :aaa, :bbb
  
      #項目「aaa」に対するチェック

      validates :aaa, :presence => true
  
      #項目「bbb」に対するチェック

      validates :bbb, :length => {:maximum => 10}
  end

・一つの項目に対してチェック内容が複数ある場合はカンマ区切り
  class Hoge < ActiveRecord::Base
      attr_accessible :aaa
  
      #必須チェックと最大長チェック
      validates :aaa,

          :presence => true,
          :length => {:maximum => 10}

  end

・エラーメッセージを変えたい場合は「:message =>[エラーメッセージ]」をつける
  class Hoge < ActiveRecord::Base
      attr_accessible :aaa,bbb
  
      # true→{:message =>'presence NG'}
      validates :aaa,
          :presence => {
:message =>'presence NG'}
  
      # {:maximum => 2}→{:maximum => 2, :message =>length NG'}
      validates :bbb,
          :presence => {
:message =>'presence NG'},
          :length => {:maximum => 2, 
:message =>'length NG'}
  end


・固定のエラーメッセージを日本語にしたい場合は「ja.yml」を配置する
 「Ruby on Rails3、validateのNGメッセージを日本語にする(1)」参照

・日本語のエラーメッセージを書きたい場合はおまじないをつける
 「Ruby on Rails3、validateのNGメッセージを日本語にする(2)」参照

・独自のvalidateを定義する場合はvalidate用のクラスを作って呼ぶ
 「独自validationを定義する(1) ひとつの項目の値に対して独自validate」参照
 「独自validationを定義する(2) 複数の項目の値に対して独自validate」参照
 「独自validationを定義する(3) 独自validateファイルの置き場所」参照
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:Ruby on Rails  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事