How to display validation error messages for multiple record


#1

I am trying to figure out how to display model validation error messages
for
a multiple record form.

My form is for setting up new accounts and collects information for two
models - Accounts and Users.

My create method collects the parameters from the form and adds them to
a
Account object and a User object then runs account.valid? and
user.valid?.
If it’s valid it updates the models ok, if not valid I get error
messages
for accounts to display on my form page but not user validation error
messages. I have validations set in both models.

I would like to collect all the validation error messages from both
models
and put them in one error display box at the top of the form and then
highlight any input boxes that need to be fixed.

Any ideas how to do this?

thanks
Alex


#2

Alex, I am facing a similar issue. Did u find a solution to this
problem?

-Jeet

alex nesbitt wrote:

I am trying to figure out how to display model validation error messages
for
a multiple record form.

My form is for setting up new accounts and collects information for two
models - Accounts and Users.

My create method collects the parameters from the form and adds them to
a
Account object and a User object then runs account.valid? and
user.valid?.
If it’s valid it updates the models ok, if not valid I get error
messages
for accounts to display on my form page but not user validation error
messages. I have validations set in both models.

I would like to collect all the validation error messages from both
models
and put them in one error display box at the top of the form and then
highlight any input boxes that need to be fixed.

Any ideas how to do this?

thanks
Alex


#3

One solution is to grab the errors and loop them yourself.

errors = Class1.errors.full_messages + Class2.errors.full_messages

Better yet, write a plugin for error_messages_for that will take a
single
object name or hash of object names to display errors for?

I have an error_messages_for plugin coming soon that I may incorporate
this
into. I’ll look at that later tonight.

Cheers,

Bob S.