[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