我在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} /)。
非常感谢!