【发布时间】:2013-08-23 11:53:26
【问题描述】:
我的模型中有一个由
验证的名称属性validates :name ,format:{with: /^[\p{L} \.'\-]+$/ , message: "invalid name" }
创建模型对象时发现以下语法错误
SyntaxError (basic_info.rb:8: invalid property name {L}: /^[\p{L} \.'\-]+$/
显然 Ruby 正在尝试在未定义的正则表达式中评估 {L}。在正则表达式中插入转义字符也会使其无效。
【问题讨论】:
-
尝试
\p{L}而不是\p\{L} -
如果您展示一个有效名称的示例会有所帮助,这样我们就知道您要做什么。此外,您的错误中的正则表达式与上面的不一样。
-
我在 www.rubular.com 上尝试了正则表达式。它工作正常。任何只有字母的名字都可以。
-
我不知道 ruby,但
\pL在 perl 中是正确的。你试过不戴牙套吗? -
No
\pL在 Ruby 中似乎不起作用。
标签: ruby-on-rails ruby regex validation