I'm trying to get the demoed callbacks to work. Do I need to update <%= javascript_include_tag :defaults, 'rails.validations', 'rails.validations.callbacks' %> to specify the .callbacks JS file as well?

Nice gem, nice presentation.
I would like to add a little suggestion. My watching experience would be even better if the lines in mate were wrapped, or broken up. As I often stop to read the code again - I am a fast learner if given plenty of time - I found it difficult to grasp the full context of the initializer file, line #9, stardate 2:10 to 2:20.
Thanks for the great work again.

Great ! I was playing with this gem since two weaks ago, trying to implement it in my project. However, my application raise`s an error that is making me mad: It`s raise an I18n::InvalidPluralizationData Exception. I`m using too delocalize gem, with helps me to translate my application to brazilian portuguese, and all my YML are working ok. Do you have any idea about this problem ? Thanks

Great Cast and Plugin! One little thing: I don't think the confirm password message is so useful. It should appear on the confirm field, not on the password field. But that's not really an issue with the gem but with rails.

Confused - when adding the client_side_validation plugin and updating the 'sign-up' form, Devise already has a 'form_for' method installed on this page. How do you get them both to work together as it keeps throwing up errors? Is daisy-chaining an option?

This is what happened when I try to install it in Rails 3.0.7 and Ruby 1.9.1

$ rails g client_side_validations:install
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-0.3.3/lib/execjs.rb:32:in runtime': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeError)
from /usr/local/lib/ruby/gems/1.9.1/gems/execjs-0.3.3/lib/execjs.rb:44:inmodule:ExecJS'
from /usr/local/lib/ruby/gems/1.9.1/gems/execjs-0.3.3/lib/execjs.rb:3:in <top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:inrequire'
from /usr/local/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in <top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:inrequire'
from /usr/local/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in <top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:inrequire'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in block (2 levels) in require'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:ineach'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in block in require'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:ineach'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in require'
from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler.rb:120:inrequire'
from /home/liboc/code-depot/qa-reg/TRAP/trunk/config/application.rb:7:in <top (required)>'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:15:inrequire'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/commands.rb:15:in <top (required)>'
from script/rails:6:inrequire'
from script/rails:6:in `'

Rails 2.x is not supported in the new client_side_validations gem. The reason is because ActiveRecord 2.x does not allow reflection upon the validators. I solved this in DNC version of the gem by using a hack (validation-reflection gem) but supporting both Rails 2 & Rails 3 is very difficult so I decided to only support Rails 3.

I've got a field thats validated as validates_length_of :badge_id, :is => 12, :message => "ID must be 12 digits", :unless => Proc.new{|r| r.badge_id == '0'} which is causing the following error - this only goes away if I remove the :message => "..." from the above validation:

I18n::InvalidPluralizationData in Registrants#new

translation data {:record_invalid=>"Validation failed: %{errors}", :taken=>"has already been taken"} can not be used with :count => ID must be 12 digits

This column is a string and is also validated as validates_numericality_of :badge_id, :only_integer => true

In the cases where a server-side validation rule would not work on the client (i.e. conditional callbacks like :if, :unless) then do not attempt client side validations. Fall back to the server side validation.

At least this sheds some time on the conditional callback :unless. Any thoughts as to why :message => ... isn't supported?

Thanks for the useful cast.
But i struck with it in my project. I used one of your cast to insert multiple tasks for a project through javascript, in that insert tasks by javascript you used date time to replace the child_index for form_for tag.

Here i got the validator objects but as the name of the fields changes it can't validate those.

however this file (create public/javascripts/rails.validations.js) didn't get created. is it because I'm in the new version of rails which has js in assets, and is this necessary for the inline validations, because mine aren't working. It works when I submit the form but not after I tab out of the text field. is there a way i can get this file to put in my assests.

Can anyone tell me how to do the client side validation in dynamic text fields. How to validate for presence_of for the dynamic text field so that at least one dynamic text field must be present in the form.

How to Care for Coach Leather Handbags www.mkpee.com
Coach leather handbags are very desirable and fashionable. Coach is known for its high-quality goods and its styles have passed the test of time. www.mkuker.com Women proudly carry their Coach leather handbags for many years. They are, however, a major investment. www.mkzho.com Once you have purchased one, you will want to keep it in excellent www.nikeyeah.com condition to protect that investment. www.mkpee.com Be aware of where you are putting your bag; try not to place it on the floor. A purse hook is a handy little item to carry in your purse that lets you www.nikeshoesales.com hook your purse to a tabletop or other flat surface.
Lightly www.lightupshoe.sale clean your purse once a month, or more often if you carry it in a dirty environment. You can use a baby wipe to lightly wipe the surface. There are also leather wipes available. You do not want to get your Coach leather handbag wet so do not use a wet cloth to clean it. Use Coach-brand fabric cleaner if your bag is a signature Coach bag made of fabric. The fabric cleaner should only be used on fabric bags. www.nikemax.shoes Use a high-quality leather cleaner for heavier cleaning. www.shoesmaxs.com
After cleaning your handbag, apply a high-quality leather moisturizer to help keep it conditioned.To clean the inside of your bag, use the hose attachment on your vacuum and gently clean the inside.After cleaning, always store your handbag in the www.mkfact.com dust bag that came with it or a cotton pillow case. Lay it flat on a shelf and do not stack or crush your Coach leather handbags.

As is known to all, writing is an important and necessary skill for all students. However, many students don't really understand the true importance of writing, as they just consider writing as a task of exam. As far as I am concerned, writing has deeper importance in many ways.Firstly, improving our ability of using words is a basic function of writing. For example, in order to write a good English composition, we must use every word carefully as much as possible to ensure its correctness. In the process, we have improved our ability of using words and writing skills imperceptibly. In this aspect, writing is a good way to strengthen our ability.Moreover, writing is an effective way to enlarge our vocabulary. Different compositions we write need different vocabularies. Therefore, the more compositions we write, the more vocabularies we get.www.nikemax.shoeswww.mkpee.comwww.nikeshoesales.comwww.shoesmaxs.comwww.lightupshoe.salewww.mkfact.comwww.mkzho.comwww.mkuker.comwww.nikeyeah.comwww.nikebtc.com