[ruby-it] [rails] problema validazione dati con regexp
Tucano
tucano a recipient.cc
Lun 1 Set 2008 17:02:15 CEST
On Sep 1, 2008, at 3:26 PM, Aldo Italo wrote:
> [CODE]
> validates_format_of :latitude, :with => /^\d{1,3}.\d{4}$|^$/, :message
> => " puņ contenere numeri in questo formato: 000.0000"
> validates_format_of :longitude, :with => /^[0-9]{1,3}.[0-9]{4}$|^$/,
> :message => " puņ contenere numeri in questo formato: 000.0000"
> [/CODE]
Ciao, non sono un esperto di Ruby e Rails, ma se quella Regexp va
letta come una Regexp in Perl... mi sembra ci siano degli errori:
l'operatore . significa qualsiasi carattere, se vuoi usarlo come
"punto" devi escaparlo con \ (\.)
non capisco il |^$ finale, dovrebbe signficare "oppure una riga vuota"?
In io farei:
/^[0-9]{1,3}\.[0-9]{4}$/
che ne pensate?
In irb:
regexp = /^[0-9]{1,3}.[0-9]{4}$/
subject = "100.3492"
irb(main):027:0> puts "success" if subject =~ regexp
success
=> nil
e se faccio:
subject = "100.3400"
irb(main):031:0> puts "success" if subject =~ regexp
success
=> nil
che mi sembra sia quello che cerchi...
Inoltre:
subject = "100.34"
puts "success" if subject =~ regexp
=> nil
Ciao!
P.S: domanda agli amministratori, la mia risposta verra' postata nel
forum? visto che risponde a una mail che arriva dal forum?
More information about the Ml
mailing list