# Skipping validaiton

**URL:** <https://www.ruby-forum.com/t/skipping-validaiton/69879>\
**Category:** Rails\
**Created:** [September 25, 2006, 8:35am UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879 "2006-09-25T08:35:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chadster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/46a35a/32.png) [@chadster](https://www.ruby-forum.com/u/chadster)\
**Post date:** [September 25, 2006, 8:35am UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879/1 "2006-09-25T08:35:31Z")

</div>

I have a form that posts back to itself (form action = current browser  
URL),  
and the validations work properly. I use a little code to determine  
whether  
they’ve entered information, so if they leave and come back they don’t  
have  
to refill out the form:

# Create new order or get from session

if session[:order].nil?

```
        @order = Order.new

```

session[:order] = @order

else

```
        @order = session[:order]

```

end

but now, if they just visit the page (issuing a GET statement), the page  
thinks there are errors and shows the error box. Is there a way to skip  
error validation for a GET statement? Like:

# don’t show model errors

if request.get?

```
        # some magic line to skip model validation

```

End

Thanks,

Chad

---

<div class="post-metadata">

**Author:** ![chadster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/46a35a/32.png) [@chadster](https://www.ruby-forum.com/u/chadster)\
**Post date:** [September 25, 2006, 9:59am UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879/2 "2006-09-25T09:59:43Z")

</div>

case @request.method  
when :post  
…etc…  
when :get  
…etc…  
end

harp

---

<div class="post-metadata">

**Author:** ![chadster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/46a35a/32.png) [@chadster](https://www.ruby-forum.com/u/chadster)\
**Post date:** [September 25, 2006, 10:21am UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879/3 "2006-09-25T10:21:40Z")

</div>

it’s the …etc… under your “when :get” that I’m looking for…

thanks though

---

<div class="post-metadata">

**Author:** ![chadster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/46a35a/32.png) [@chadster](https://www.ruby-forum.com/u/chadster)\
**Post date:** [September 25, 2006, 12:39pm UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879/4 "2006-09-25T12:39:55Z")

</div>

Try for your magic code:

if session[:order].nil?

```
        @order = Order.new

```

session[:order] = @order

else  
@order = session[:order].send :instance\_variable\_set, :@attributes,  
session[:order].attributes\_before\_type\_cast  
end

The problem (probably) is you’re storing validation errors in the  
session  
too.

Let me know if this works,  
Vish

---

<div class="post-metadata">

**Author:** ![chadster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/46a35a/32.png) [@chadster](https://www.ruby-forum.com/u/chadster)\
**Post date:** [September 25, 2006, 11:52pm UTC](https://www.ruby-forum.com/t/skipping-validaiton/69879/5 "2006-09-25T23:52:06Z")

</div>

Thank you Vish, that pointed me in the right direction…

Yes, I was storing the errors in the session. For now, I’ll just do a  
“session[:order].errors.clear” in the appropriate place… I will fine  
tune later.

Thanks again,  
Chad
