gpt4 book ai didi

ruby-on-rails - 使用/+\w/对 'name' 的验证不充分。使用\A 和\z 作为 anchor

转载 作者:行者123 更新时间:2023-12-04 06:30:12 27 4
gpt4 key购买 nike

我使用 brakeman 在我的应用程序中生成扫描报告。它在我的模型页面中生成了高可信度的格式验证安全警告:

Insufficient validation for 'name' using / +\w/. Use \A and \z as anchors near line 54

这是我模型中我遇到错误的行:

validates_format_of :name, :with => / +\w/, :message => "must be your first and last name."

如果名称字段中没有空格,我将显示上面的验证。如何显示它的\A 和\z 格式?

最佳答案

Brakeman 建议在验证正则表达式中使用 \A\z anchor 。它们定义了匹配必须从 (\A) 开始到 (\z) 结束的位置。没有它们,正则表达式可以简单地匹配名称的任何部分。让我们转换您的正则表达式以包含整个字符串:

/\A\w+ +\w+\z/

如果只想接受一个空格,可以去掉空格后面的+

也不推荐使用普通的正则表达式行开始 (^) 和结束 ($) anchor ,因为只有一行匹配就足够了,并且所有其他行可能无效。

关于ruby-on-rails - 使用/+\w/对 'name' 的验证不充分。使用\A 和\z 作为 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39248370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com