このようなモデルに検証を実装しようとしています。
validates_format_of :field, with: /[0-9]/, message: 'must have at least one number (0-9)'
Brakeman はこれをFormat Validation
セキュリティ上の問題として検出し、正規表現の間にアンカーを追加することを推奨しています。
/[0-9]/ を使用した「フィールド」の検証が不十分です。\A と \z を 54 行目のアンカーとして使用する
それらのアンカーを追加すると、正規表現が機能しなくなるため、この場合はどうすればよいかわかりません。を使用して作成したテストを次に示しますrails c
。
"asdf1234".match(/\A[0-9]\z/) # => nil
"foobar1".match(/\A[0-9]\z/) # => nil
#<MatchData "1">
どちらの場合もメソッドが戻る必要があります。
何か案は?ありがとう。