Ruby on rails 对'的验证不足;名称';使用/+\w/。使用\A和\z作为锚点

Ruby on rails 对'的验证不足;名称';使用/+\w/。使用\A和\z作为锚点,ruby-on-rails,Ruby On Rails,我在应用程序中使用brakeman生成扫描报告。它在“我的模型”页面中生成了一个格式验证安全警告: 使用/+\w/对“name”的验证不足。将\A和\z用作 54号线附近的锚 这是我的模型中面临错误的一行: validates_format_of :name, :with => / +\w/, :message => "must be your first and last name." 如果名称字段中没有空格,我将显示上面的验证。如何显示\A和\z格式?Brakeman建议在验证

我在应用程序中使用brakeman生成扫描报告。它在“我的模型”页面中生成了一个格式验证安全警告:

使用/+\w/对“name”的验证不足。将\A和\z用作 54号线附近的锚

这是我的模型中面临错误的一行:

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

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

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

/\A\w+ +\w+\z/
如果只想接受一个空格,可以删除空格后的
+

也不建议使用普通正则表达式行begin(
^
)和end(
$
)锚定,因为只要有一行匹配就足够了,而所有其他行都可能无效