2011-05-09 24 views
5

Normal bir ifade olan bir özniteliğe sahip bir Rails modelim var. Kaydetmeden önce özniteliğin değerinin geçerli bir regexp olduğunu doğrulamak için standart bir yol var mı?Rails için standart bir düzenli ifade doğrulayıcısı var mı?

Güncelleme: Burada ne yaptım kabul edilen yanıt gereğince:

class Foo < ActiveRecord::Base 
    validates_each :bar do |model, attr, value| 
    begin 
     Regexp.compile value 
    rescue RegexpError => e 
     model.errors.add attr, "not a valid regular expression: #{e.message}" 
    end 
    end 
    # [...] 
end 
+0

Düzenli bir ifadeyi doğrulamak istiyorum .. ?? Ya da düzenli bir ifade mi kullanıyorsunuz? –

cevap

4

sadece Regexp.compile sormak ve hataları yakalamak olabilir.

+1

veya Ruby 1.9.2'de 'Regexp.try_convert' hatalarını yakalamaya gerek yok. –

+0

@Beerlington: 'Reerxp.try_convert ("re") # => nil' - Josh'ın dizeleri izin vermek istediğini varsayarak, –

İlgili konular