- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
**Ruby on RailsÊÙ¶¯²ñ°ìÍ÷ [#dd041670]
#ls2(Ruby on Rails)
**Âè6²óÊÙ¶¯²ñ¤Î¥Í¥¿ [#jeadb044]
¥Í¥¿¤â¤È¤Ï²¼µ¤Ç¤¹¡£
-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
**Æü»þ [#g4f8ac7b]
- 2006/10/20(¶â) 19:30¤¯¤é¤¤ ¡Á
**»²²Ã¼Ô [#u5cc1f6d]
-[[»ÖÅÄ]](ȯɽ¼Ô) ([[¥¢¡¼¥¯¥¦¥§¥Ö:http://www.ark-web.jp]])
-[[Ãݼ]]¤µ¤ó ([[¥¢¡¼¥¯¥¦¥§¥Ö:http://www.ark-web.jp]])
-[[¿ÊÃÏ]]¤µ¤ó ([[¥¢¡¼¥¯¥¦¥§¥Ö:http://www.ark-web.jp]])
#blikimore
** Æ°²è [#g3db69c1]
#htmlinsert(study/rails6-1.html)
**³µÍ× [#hff6572b]
-Active Record¤Ï Base#validate (¤Þ¤¿¤Ï¡¢validate_on_create ¤ä validate_on_update)¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¸¡¾Ú¥³¡¼¥É¤ò½ñ¤¯¤³¤È¤Ç¡¢Æȼ«¤Î¸¡¾Ú¤ò¹Ô¤Ê¤ï¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
- ¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò¸¡ºº¤·¡¢¥â¥Ç¥ëÆâ¤Î³Æ¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤¬¡¢¤¿¤È¤¨¤Ð¡¢¶õ¤Ç¤Ï¤Ê¤¤¡¢Í¿¤¨¤é¤ì¤¿ÈÏ°ÏÆâ¤ÎÃͤǤ¢¤ë¡¢¤¢¤ëÀµµ¬É½¸½¤Ë¥Þ¥Ã¥Á¤¹¤ë¡¢¤Ê¤É¤Ê¤É¤Î¾ò·ï¤Ë¥Þ¥Ã¥Á¤¹¤ë¤³¤È¤òÊݾڤ·¤Þ¤¹¡£
** ¥µ¥ó¥×¥ëDB [#d2f3e5b5]
create_table :people do |t|
t.column :first_name, :string
t.column :last_name, :string
t.column :phone_number, :string
** ¸¡¾Ú¥³¡¼¥É [#bb77001a]
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¤Ï¹¹¿·¤Î¾ì¹ç¤Ë¸Æ¤Ð¤ì¤Þ¤¹¡£
**¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÎÄɲà [#fbd4191c]
- ActiveRecord::Errors#add
- ActiveRecord::Errors#add_on_empty
- ActiveRecord::Errors#add_on_boundary_breaking
** ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¼èÆÀ [#h5732a96]
- 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 -%>
** ¸¡¾Ú¥Ø¥ë¥Ñ¡¼ [#r511e740]
#blikifooter(»ÖÅÄ)
tag: [[Ruby on Rails>tag/Ruby on Rails]], [[ÊÙ¶¯²ñ>tag/ÊÙ¶¯²ñ]]