Retain Form Values on reset

I have a Login page created with 4 fields and a submit button for an
application i am developing.

Username :
Email address :
Password :
Confirm Password :

i am validating each field. so if the username is missing , when u hit
submit button , there is a notice / warning that flashes on top
So if i just enter Username and hit Submit, it should flash a message
saying that "Email ID is missing " at the same time retaining the
value in the Username field.
But that isnt happening. It just resets the form with the notice
message on top.

How do i make this happen.
Also i am not using Databases. So i have activeRecord Disabled. i am
using an set of external API’s to login / register to this
application

Any help would be Greatly appreciated.

Ashwin,

I had to do something similar in my app. What you can do is create an
object that mimics ActiveRecord in your controller. By that, I mean
the object should have methods with the same names as the attributes
which return the attribute’s value. Then pass that to a form helper,
and you should be golden.

Controller action:
@user = User.new(params[:user]) # User is a class you’ll have to
write

View template:
<% form_for :user, @user, :url => {:action => ‘create’} do |f| %>
<%= f.text_field :username %>

<%= f.submit %>
<% end %>

The trick is that f.text_field :username will create a text field
and set its value to what is returned by calling @user.username.
You can read up more on form helpers here:

I hope that helps,

~David