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.
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
Sorry, this line should actually be:
model[n] = model[n].strip if model[n].respond_to?( 'strip' )
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.