How to validate only presence or format


I am using following to validate the contact name like :

validates_format_of :merchant_contact_firstname, :with => /^([a-zA-Z
]+)$/, :message=>‘First name is not valid.’

But it gives error even if it is left blank. Acually, it is optional but
if it is present then it can have only alphabets. How can I validate
both presence and format separately in model?



I would use:

validates_format_of :merchant_contact_firstname, :if => {|c|
not c.merchant_contact_firstname.blank?}, :with => /^([a-zA-Z]+)$/,
:message=>‘First name is not valid.’

Meaning that when the merchant_contact_firstname is not blank it gets
evaluated with the regex.

Kind regards,

Nick S.

Compare Rails hosting companies

I believe tweaking the regexp just a little bit is easier, like this:

/^(|[a-zA-Z ]+)$/
/^([a-zA-Z ]*)$/

Judging by a quick test done in irb both seem to work just fine.

Hope it helps!

On Feb 16, 5:14 am, Nick S. [email protected]