Rails:许多跨场定制验证器的最佳实践?

时间:2012-04-24 21:23:09

标签: ruby-on-rails customvalidator

我正在开发一个Rails项目,它有一些非常复杂的验证要求。此项目输出数据以上传到状态报告系统,因此我想在尝试将其上载到状态之前在系统中引发验证问题。以下是验证的一些示例:

  • 如果设置了字段B,则字段A必须为空;如果设置字段A,则字段B必须为空。
  • 如果字段D为0,6或9
  • ,则字段C必须为0
  • 如果设置了字段F,则字段E必须具有值。

最佳做法是在模型中使用方法进行自定义验证,为模型使用一个自定义验证程序类,还是为每个业务规则使用自定义验证程序类?

1 个答案:

答案 0 :(得分:0)

如果您拥有可重复使用的自定义验证逻辑,那么最好将它们放在一个CustomValidator模块中,并将其混合到需要使用它们的任何类中。

所以答案是模型是说明验证规则的正确位置;只需使用任何帮助就可以使它变干。