我创建了一个模型,其中有几个字段应该接受相同的数据格式(字符串,但可以是任何东西,FWIW).我想对所有这些字段应用相同的验证规则.当然,我可以直接去复制/粘贴东西,但这将是违反DRY原则,常识也是
我猜这个很简单,但我是一个Rails的新人/时髦人士=)
解决方法
所以如果你说三个字段来验证:
:first_name :last_name :age
你想让他们全部得到验证吗?所以这样的事情
validates_presence_of :first_name,:last_name,:age
编辑:在Rails中有许多不同的验证方法),它们非常灵活.对于该字段的格式,您可以使用validates_format_of,然后使用正则表达式来匹配它.以下是一个匹配电子邮件的示例:
validates_format_of :email,:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
我会查看Active Record Validations and Callbacks指南;它提供了有关Active Record在验证方面提供的许多功能的全面了解.您还可以查看文档here.