如何验证文本输入以便它只允许a-z, A-Z, 0-9, ();:?!,.[]{}-
个字符(也是空格)?
我在模型中添加了类似的内容
class Oder < ApplicationRecord
......
......
validates :text, presence: true, format: { with: /[0-9\w]*[\(\;\:\-\?\!\,\.\[\]\{\}\,\.)]*/ }
......
end
end
但它不起作用。它还允许其他角色(wïthûmlauts)。 提前谢谢。
答案 0 :(得分:4)
当正则表达式匹配时,一个或多个字符在您的文本中某处。当字符是字符串开头(\A
)与其结尾(\z
)之间的唯一字符时,您需要将正则表达式更改为仅匹配。
将正则表达式更改为:
/\A[0-9\w\s\(\;\:\-\?\!\,\.\[\]\{\}\,\.)]*\z/
答案 1 :(得分:0)
validates_format_of :text, without: /[-0-9\w ;:,.?!\[\]{}()]*/