I am using validations for first name, but I am getting error message
two times for the label and text_field,
On 17 January 2012 08:56, Kapil K.
[email protected] wrote:
I am using validations for first name, but I am getting error message
two times for the label and text_field,<%= f.label :first_name %> <%= f.text_field :first_name %>
Show us the validation you have specified and what the error is and
why you think the error is wrong. Otherwise what hope have we got of
helping?
Colin
In my model i had used the validation
validates :first_name, :format => {:with => /^[a-zA-Z.\s]*$/
i}, :length => {:minimum => 1, :maximum => 25}, :presence => true
in views
in the browser i am getting error messages 2 times like this
First name is too short (minimum is 1 characters),can’t be blank
is too short (minimum is 1 characters),can’t be blank
On 17 January 2012 11:20, Kapil K.
[email protected] wrote:
in the browser i am getting error messages 2 times like this
First name is too short (minimum is 1 characters),can’t be blank
is too short (minimum is 1 characters),can’t be blank
That suggests that the name is blank by the time it gets to be saved
in the database.
First have a look in the log (log/development.log) and check that the
name is passed in correctly. Then have a look at the Rails Guide on
debugging. It will show you how to use ruby-debug to break into your
code and inspect data so that you can see what is wrong.
By the way please do not top post, it makes it difficult to follow the
thread. Insert your reply at appropriate points in the previous
message. Thanks.
Colin
–
You received this message because you are subscribed to the Google G. “Ruby
on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
–
gplus.to/clanlaw
On Tue, Jan 17, 2012 at 3:20 AM, Kapil K.
[email protected] wrote:
validates :first_name, :format => {:with => /^[a-zA-Z.\s]*$/
i}, :length => {:minimum => 1, :maximum => 25}, :presence => true
Your format regex will pass an empty string (“”), or a string of nothing
but space characters, so that’s pointless. Alternatively, if you check
for at least one valid word character, then the name must be present
and must be at least 1 character long. (I’m not sure why you have
either the \s or . in there.)
If you’ve specified a minimum length of 1, then the :presence check
is also pointless, isn’t it?
You could condense this whole thing into one regular expression,
which would likely give you only one error message
e.g. /\A\s*[a-zA-Z]{1,25}\s*\Z/
Aside: You might also want to reconsider your requirements – for
example “D’Arcy” is a legitimate first name
HTH,
Hassan S. ------------------------ [email protected]
twitter: @hassan