我想验证“名称”列中是否包含“ _”(下划线)。 例如test_person没问题,但testperson没问题。
我已经尝试过的方法: 1.
validates :name, inclusion: { in: %w(_), message: "Invalid name %{value}. Name must be firstname_familyname" }
然后,我不能保存任何名称,不管是否带有下划线,例如test_person和testperson被拒绝并显示错误消息“ Invalid name ....”。
2。
validates :name, format: { With: /\A[a-zA-Z]+_+[a-zA-Z]+\z/ }
然后显示ArgumentError。
有人可以让我知道如何验证下划线吗?
答案 0 :(得分:1)
此解决方案有效-https://guides.rubyonrails.org/active_record_validations.html#format
validates :name, format: { with: /\A[a-zA-Z]+_+[a-zA-Z]+\z/, message: "name must include underscore" }
您的代码唯一的问题是-您有With:
和大写字母W
在第with:
行上进行更改