# Validation inside controller

**URL:** <https://www.ruby-forum.com/t/validation-inside-controller/106305>\
**Category:** Rails\
**Created:** [June 8, 2007, 10:08am UTC](https://www.ruby-forum.com/t/validation-inside-controller/106305 "2007-06-08T10:08:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![migrate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/bc79bd/32.png) [@migrate](https://www.ruby-forum.com/u/migrate)\
**Post date:** [June 8, 2007, 10:08am UTC](https://www.ruby-forum.com/t/validation-inside-controller/106305/1 "2007-06-08T10:08:36Z")

</div>

Hello all,  
I’m trying to directy call validation methods in the controller (for  
instance account.validates\_format\_of ‘e-mail’, :with =\>  
‘/^([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i’, :within =\> 5…199) but it  
does not work. It always gives the error "undefined method  
`validates\_format\_of’ ".

I need to do this because I allow the user to add new columns to a model  
and I only know it’s type (string, int or date) at runtime.

Can anyone help me?

Thanks.  
Best regards,  
Migrate

---

<div class="post-metadata">

**Author:** ![migrate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/bc79bd/32.png) [@migrate](https://www.ruby-forum.com/u/migrate)\
**Post date:** [June 8, 2007, 7:51pm UTC](https://www.ruby-forum.com/t/validation-inside-controller/106305/2 "2007-06-08T19:51:55Z")

</div>

Place validates\_format\_of inside your account model and have your  
controller pass your validation string to it.

On 6/8/07, Migrate [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

## – Amos K. A. King Software Development and Consulting, L.C. [http://dirtyInformation.com](http://dirtyInformation.com)

Looking for something to do? Visit [http://ImThere.com](http://ImThere.com)

---

<div class="post-metadata">

**Author:** ![migrate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/bc79bd/32.png) [@migrate](https://www.ruby-forum.com/u/migrate)\
**Post date:** [June 8, 2007, 8:01pm UTC](https://www.ruby-forum.com/t/validation-inside-controller/106305/3 "2007-06-08T20:01:57Z")

</div>

> because I allow the user to add new columns to a model  
> in 99.9% of cases you should not modify domain model at runtime.  
> .1% reserved for barely realistic approach, I never heard about.  
> would you explain a bit what is the problem you trying to solve that  
> way?

---

<div class="post-metadata">

**Author:** ![migrate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/bc79bd/32.png) [@migrate](https://www.ruby-forum.com/u/migrate)\
**Post date:** [June 8, 2007, 9:11pm UTC](https://www.ruby-forum.com/t/validation-inside-controller/106305/4 "2007-06-08T21:11:08Z")

</div>

Hello Amos,

I did that and it works fine.

Thanks.  
Best regards,  
Migrate
