Forum: Ruby on Rails Trim all input fields

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Nikhil V. (Guest)
on 2009-03-26 21:39
Hi all,

What is the easiest way to trim all input fields before validation.

Also on error the field should show the trimed version of the data.

Any help would be appreciated, Thanks.
Greg D. (Guest)
on 2009-03-26 22:01
(Received via mailing list)
On Thu, Mar 26, 2009 at 2:39 PM, Nikhil Vijayan
<removed_email_address@domain.invalid> wrote:
>
> Hi all,
>
> What is the easiest way to trim all input fields before validation.
>
> Also on error the field should show the trimed version of the data.
>
> Any help would be appreciated, Thanks.

Append a new feature to your models:

module Trimmer
  def self.append_features( base )
    base.before_validation do |model|
      model.attribute_names.each do |n|
        u[n] = u[n].strip if u[n].respond_to?( 'strip' )
      end
    end
  end
end

require "#{ RAILS_ROOT }/app/models/trimmer"
class ActiveRecord::Base
  include Trimmer
end



--
Greg D.
http://destiney.com/
Greg D. (Guest)
on 2009-03-26 22:22
(Received via mailing list)
On Thu, Mar 26, 2009 at 2:59 PM, Greg D. <removed_email_address@domain.invalid> 
wrote:
> u[n] = u[n].strip if u[n].respond_to?( 'strip' )

Sorry, this line should actually be:

model[n] = model[n].strip if model[n].respond_to?( 'strip' )



--
Greg D.
http://destiney.com/
Nikhil V. (Guest)
on 2009-03-26 23:15
Thanks Greg,

Is there anyway to change this to something better ?

require "#{ RAILS_ROOT }/app/models/trimmer"

is there any way to move it to plugin or helper or somewhere else and
load it in a better way .. thanks ..
Greg D. (Guest)
on 2009-03-26 23:27
(Received via mailing list)
On Thu, Mar 26, 2009 at 4:15 PM, Nikhil Vijayan
<removed_email_address@domain.invalid> wrote:
>
> Thanks Greg,
>
> Is there anyway to change this to something better ?
>
> require "#{ RAILS_ROOT }/app/models/trimmer"
>
> is there any way to move it to plugin or helper or somewhere else and
> load it in a better way .. thanks ..


You can put it wherever you want it.  Seemed like a model-like thing
so I put it in with the models.


--
Greg D.
http://destiney.com/
This topic is locked and can not be replied to.