[解決済み] RoR 4のバリデーション付き正規表現
2023-06-23 12:45:26
質問
次のようなコードがあります。
class Product < ActiveRecord::Base
validates :title, :description, :image_url, presence: true
validates :price, numericality: {greater_than_or_equal_to: 0.01}
validates :title, uniqueness: true
validates :image_url, allow_blank: true, format: {
with: %r{\.(gif|jpg|png)$}i,
message: 'URL must point to GIT/JPG/PNG pictures'
}
end
動作はするのですが、"rake test"を使ってテストしようとすると、このメッセージが表示されます。
rake aborted!
The provided regular expression is using multiline anchors (^ or $), which may present a security risk. Did you mean to use \A and \z, or forgot to add the :multiline => true option?
どういうことですか?どうすれば直るのですか?
どのように解決するのですか?
^
そして
$
はスタート
行の
であり、末尾
行の
というアンカーがあります。一方
\A
と
\z
はパーマネントスタート
文字列の
と終了
の文字列
のアンカーを指定します。
違いを見てください。
string = "abcde\nzzzz"
# => "abcde\nzzzz"
/^abcde$/ === string
# => true
/\Aabcde\z/ === string
# => false
つまり、Railsはあなたに、"あなたは本当に
^
と
$
? を使いたくなりませんか?
\A
と
\z
の代わりに、"。
この警告を発生させるrailsのセキュリティ上の懸念については、さらに多くのものがあります。 ここで .
関連
-
[解決済み】PG::ConnectionBad: fe_sendauth: パスワードが供給されない
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Heroku: 既存のrailsアプリにseeds.rbをプッシュする方法?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み】RORマイグレーションでDateからDateTimeにカラムタイプを変更する。
-
[解決済み】Rubyの正規表現における「◎」「△」「◇」の違いについて
-
[解決済み] activerecordで最後のN個のレコードを取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】修正方法:エラー:'<ファイル名>'にチェックアウトされたコミットがない fatal: コマンドプロンプトで "git add ." を入力するとファイルの追加に失敗する
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] Devise Admin Roleの追加【終了しました