1

次の Gemfile と検証 (スニペット) を使用して、Rails 3.2.7 アプリの単純なフォームでクライアント側の検証を使用しています。

# 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}/)。

とても有難い!

4

0 に答える 0