Trim all input fields


#1

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.


#2

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/


#3

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/


#4

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 …


#5

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/