Witam, staram się dostosować walidacje kodu pocztowego żeby było przepuszczane nic oprócz formatu 11-111
oto co mam:
validates :adres_kod, :format => { :with => /\A[0-9]{2}(-\d{3})?$/, :message => 'nie poprawny format kodu pocztowego.' }, allow_blank: false
próbowałem to na milion sposobów przerobić ale nie udało się tak żeby tylko akceptował format 11-111
dodam jeszcze że opcja :length, :is nie działa …
znalazłem też coś takiego
def validate
unless self.zipcode.to_s.size == 5
errors.add("zipcode", "should be 5 digits")
end
end
przerobiłem dodałem do user.rb ale też bez efektu
[quote=m1l05z]validates :adres_kod, :format => { :with => /\A[0-9]{2}(-\d{3})?$/, :message => 'nie poprawny format kodu pocztowego.' }, allow_blank: false
[/quote]
To wyrażenie regularne akceptuje również np. 22. A czemu nie używasz prostszego /\A\d{2}-\d{3}\z/ ?? Inna kwestia jest taka, że kod ma 6 znaków, a nie 5 (nie zapomnij o minusie!)