ActiveModelを継承していないModelでValidationを実施する
ActiveModelを継承していないModelでValidationを実施する必要があったのでメモ
http://qiita.com/shunhikita/items/772b81a1cc066e67930e
vi app/models/mymodel.rb
class Mymodel include ActiveModel::Validations validates_with MymodelValidator end
vi app/models/mymodel_validator.rb
class MymodelValidator < ActiveModel::Validator def validate(record) unless record.prop.present? and is_prop_less_than_100?(record.prop) record.errors[:prop] << 'Error message' end end def is_prop_less_than_100?(p) prop < 100 end end
validationを呼び出すときはcontroller内で@model.valid?を実施
falseならエラーメッセージがerrorsにはいる。