Rails - 客户端验证 - 强制服务器端评估

时间:2012-09-18 02:54:20

标签: ruby-on-rails regex ruby-on-rails-3 validation ruby-on-rails-3.2

我在rails 3.2.7 app中使用简单形式的客户端验证,并使用以下Gemfile和验证(片段)。

# Gemfile
gem 'simple_form'
gem 'client_side_validations' # Javascript/Ajax validations
gem 'client_side_validations-simple_form'

# user.rb
validates :name, presence: true, 
                 uniqueness: true,
                 format: { with: /^[\p{L}]{3,15}$/iu }

无论出于何种原因,javascript似乎没有正确评估正则表达式,因为我总是收到“格式”消息(它在我的I18n文件中)。但是,当我禁用client_side_validations并提交表单时,验证通过。

我使用p {L}的原因是因为我需要支持法语字符。

理想情况下,我想强制进行服务器端评估(通过ajax,类似于唯一性检查的工作方式),但我还没有找到办法。

有什么建议吗?这不一定是完美的,如果有一些解决方法,我可以接近所需的功能,我会很高兴(即有没有办法覆盖验证,也许做像/[.]{3这样的事情,15} /)。

非常感谢!

0 个答案:

没有答案