your validations should go into your model class, not in your
controller. So to ensure that your user object has a username
associated with it, put the following in your user.rb class:
validates_presence_of :username
and then an error will occur when you attempt to save a User object
from your controller, using something like the following:
@user = User.new(params[:user])
if @user.save
#save was successful
else
#save was unsuccessful, the error will be stored in the @user object
end
you can then display the errors associated with an object by putting
the following in your view code:
<%= error_messages_for :user %>
if you find that the built in validations don't do what you want, you
can always override the validate method in your model, such as the
following:
user.rb
def validate
errors.add(:username, "must not be john") if username == "john"
end
Mike