やりたいこと 2014-9-31 などを弾きたい。 結論から ActiveModel::EachValidator を使った Custom Validator を追加します。 gem を使わない理由 gem を使わなくても良いくらいの規模。 rails のバージョンアップに伴う、gem バージョンアップの負債が増えるのがいやだった。 例えば rails v4.1.5 で validates_timeliness を使うと、以下のような deprecated なエラーが出るようになった。 class MyValidator < ActiveModel::Validator def initialize(options={}) super options[:class].send :attr_accessor, :custom_attribute end end . (called from
![rails 日付や時刻の正当性を validation する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/4549a2824f66d9808b09d7906cecb1bcb3369420/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9cmFpbHMlMjAlRTYlOTclQTUlRTQlQkIlOTglRTMlODIlODQlRTYlOTklODIlRTUlODglQkIlRTMlODElQUUlRTYlQUQlQTMlRTUlQkQlOTMlRTYlODAlQTclRTMlODIlOTIlMjB2YWxpZGF0aW9uJTIwJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mYjIwZmRlNDU0ZTFkZWNjZTI5ZTNhNGIzMzYwYzJkMQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWl6dW5va3VyYSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZmI0NTdhMDdhNjVmYmM2NGY1MGRmMzA1MTVkZjU3NjI%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Da7fb66c5d51607ff5807e6da72b02e53)