Ruby on Rails/第6回勉強会 - ActiveRecord::Validations http://www.ark-web.jp/sandbox/wiki/164.html
Ruby on Rails/第6回勉強会 - ActiveRecord::Validations
Ruby on Rails勉強会一覧 †
- Ruby on Rails
- Ruby on Rails/2.1.0を使ってみて「お!変わってる」と思ったところ
- Ruby on Rails/ActiveRecord::Observer
- Ruby on Rails/ActiveRecordのfind
- Ruby on Rails/ActiveRecordをライブラリとして利用する
- Ruby on Rails/Ajaxのパフォーマンスをあげる5つの方法の部分的超訳メモ
- Ruby on Rails/apache2+FastCGIでBASIC認証
- Ruby on Rails/check_boxにデフォルトcheckedをセットする
- Ruby on Rails/cronから日本語メールを送るには
- Ruby on Rails/Cucumberを試してみる
- Ruby on Rails/emacs-railsのインストール
- Ruby on Rails/Fedra Core5でApache2+FastCGIのセットアップ
- Ruby on Rails/gettext_scaffoldのconfirm_update
- Ruby on Rails/has_manyのdependentオプション
- Ruby on Rails/jpmobileで機種に応じた画像を出力
- Ruby on Rails/JSONPで受け取ったデータをEUC-JPのWebページに埋め込むには?
- Ruby on Rails/lighttpdの設定
- Ruby on Rails/PostgresSQLを使う
- Ruby on Rails/Rails 2.0.2にアップグレード
- Ruby on Rails/Rails3を試してみる
- Ruby on Rails/Rails3関連
- Ruby on Rails/Railsプロジェクトを作るときに最初にやること
- Ruby on Rails/Rails勉強会@東京第15回
- Ruby on Rails/RESTfulAuthenticationに権限管理を追加する「role_requirement」プラグイン
- Ruby on Rails/rspec + autotest + emacs の環境構築
- Ruby on Rails/rvm+passenger+mod_proxyの設定
- Ruby on Rails/Text Drive Shared Hosting使用感
- Ruby on Rails/TextDriveでRailsが利用できるようになるまで
- Ruby on Rails/「No route matches」が出る
- Ruby on Rails/プラグイン/aasm
- Ruby on Rails/プラグイン/acts_as_favorite
- Ruby on Rails/プラグイン/file_column
- Ruby on Rails/プラグイン/restful-authentication
- Ruby on Rails/プラグイン/ssl_requirement
- Ruby on Rails/メモリの問題とか
- Ruby on Rails/第1回集中勉強会
- Ruby on Rails/第1回勉強会 - TodoListTutorial
- Ruby on Rails/第2回勉強会 - Routing: Native Ruby Rewriting
- Ruby on Rails/第3回勉強会 - Components: Pursuing the Pipe Dream
- Ruby on Rails/第3回勉強会 - Components: Pursuing the Pipe Dream/動画
- Ruby on Rails/第3回勉強会 - Components: Pursuing the Pipe Dream/動画/その1
- Ruby on Rails/第3回勉強会 - Components: Pursuing the Pipe Dream/動画/その2
- Ruby on Rails/第4回勉強会 - Active Record Reference Documentation
- Ruby on Rails/第4回勉強会 - Active Record Reference Documentation/動画
- Ruby on Rails/第4回勉強会 - Active Record Reference Documentation/動画/その1
- Ruby on Rails/第4回勉強会 - Active Record Reference Documentation/動画/その2
- Ruby on Rails/第4回勉強会 - Active Record Reference Documentation/動画/その3
- Ruby on Rails/第5回勉強会 - ActiveRecord::Associations
- Ruby on Rails/第6回勉強会 - ActiveRecord::Validations
- Ruby on Rails/第7回勉強会 - gettextを使ったvalidationエラーの日本語化
- Ruby on Rails/第8回勉強会 - ActionView::Helpers
- Ruby on Rails/第9回勉強会 - ActionView::Helpers(2)
- Ruby on Rails/第10回勉強会 - ActionView::Helpers(3)
- Ruby on Rails/第11回勉強会 - RESTful Rails Development
- Ruby on Rails/第12回勉強会 - necoったーの中身解説
- Ruby on Rails/第12回勉強会 - Rspec概要
- Ruby on Rails/第13回勉強会 - Rspecを使ってみる
- Ruby on Rails/第14回勉強会 - Rails上でRspecを使う
- Ruby on Rails/第15回勉強会 - Rolling with Rails 2.0 - The First Full Tutorial - Part 1
- Ruby on Rails/第15回勉強会 - 認証プラグインActs as Authenticatedについて
- Ruby on Rails/動的条件でhas_oneしEagerLoad
- Ruby on Rails/任意のRailsのバージョンでアプリを動かすように設定したい場合の対応
- Ruby on Rails/備忘:ミニTips
第6回勉強会のネタ †
ネタもとは下記です。
- Module: ActiveRecord::Validations
http://rails.rubyonrails.com/classes/ActiveRecord/Validations.html - Module: ActiveRecord::Validations::ClassMethods
http://rails.rubyonrails.com/classes/ActiveRecord/Validations/ClassMethods.html - Class: ActiveRecord::Errors
http://rails.rubyonrails.com/classes/ActiveRecord/Errors.html
日時 †
- 2006/10/20(金) 19:30くらい 〜
参加者 †
動画 †
rails6-1
Generated by pyvnc2swf-0.8.1
概要 †
- Active Recordは Base#validate (または、validate_on_create や validate_on_update)をオーバーライドで検証コードを書くことで、独自の検証を行なわせることができます。
- これらのメソッドは、オブジェクトの状態を検査し、モデル内の各インスタンス変数が、たとえば、空ではない、与えられた範囲内の値である、ある正規表現にマッチする、などなどの条件にマッチすることを保証します。
サンプルDB †
create_table :people do |t| t.column :first_name, :string t.column :last_name, :string t.column :phone_number, :string
検証コード †
app/model/person.rb
class Person < ActiveRecord::Base def validate errors.add_on_empty(:last_name, "姓をちゃんと入力してください。") errors.add_on_empty(:first_name, "名をちゃんと入力してください。") errors.add(:phone_number, "電話番号は数字で入力してください。") unless phone_number =~ /[0-9]+/ end end
- validateメソッドはsaveメソッドを呼び出す(または、valid? メソッドを呼ぶ)と呼び出されます。
- validate_on_createは、saveの結果そのレコードが新規追加の場合、validate_on_updateは更新の場合に呼ばれます。
エラーメッセージの追加 †
- ActiveRecord::Errors#add
- ActiveRecord::Errors#add_on_empty
- ActiveRecord::Errors#add_on_boundary_breaking
エラーメッセージの取得 †
- ActiveRecord::Errors#empty?
- ActiveRecord::Errors#count
- ActiveRecord::Errors#on
- ActiveRecord::Errors#each
<%- if defined? (@person) -%> <h3>エラー結果</h3> <div>エラーないですよね? : <%= @person.errors.empty? -%></div> <div>エラーの数は? : <%= @person.errors.count -%></div> <div>姓に対するエラーは? : <%= @person.errors.on "last_name" -%></div> <div>名に対するエラーは? : <%= @person.errors.on "first_name" -%></div> <div>電話番号に対するエラーは? : <%= @person.errors.on :phone_number -%></div> <div>エラーメッセージ一気にお願いします。: <br /> <ul> <%- @person.errors.each do |attr, msg| -%> <li><%= msg -%></li> <%- end -%> </ul> <%- end -%>
検証ヘルパー †
tag: Ruby on Rails, 勉強会