2008-09-19 13 views

cevap

6

Her zamanki gibi, doğrulayıcılar, önce, alanları doğrulamak için ve son olarak (eğer varsa) bir karma seçeneği gösteren bir dizi parametresine sahiptir.

:my_custom_validation, parameter1: x, parameter2: y 

: Eğer böyle bir şey yapmak istiyorum nedenle

{ parameter1: x, parameter2: y} 

,: x 2. parametre:: y karma olacağını parametre1 ederken my_custom_validation bir alan adı olur

sizin örnekte
def my_custom_validation(*attr) 
    options = attr.pop if attr.last.is_a? Hash 
    # do something with options 
    errors.add_to_base("error message") if condition.exists? 

end 
2

Sadece böyle bir şey yapabilirsiniz:

def validate 
    errors.add('That particular field', 'can not be the value you presented') if !self.field_to_check.blank? && self.field_to_check == 'I AM COOL' 
end 

Ben validate yöntemi herhangi validates_uniqueness_of benzeri doğrulamaları sonra (varsa) işlenir inandığı gibi, ona başvuru çağırmaya gerek yok.

Eklendi: Rails API dokümanlar here'da daha fazla bilgi.

İlgili konular