よくこの誤解に今まで気づかなかったものだと半ば驚きつつ、恥を晒す。 バリデーションはいかなる場合でも『渡された値』に対してのみ行われるということ。 『渡されなかった値』に対して、「おい、渡せよボケカス!」とは注意してくれない。 まぁ、当たり前、ですよね。。。(笑) Model のバリデーションルールで notempty を定義したフィールドに関して、保存時に空の値を渡すと「何やってんだコラヽ(`Д´)ノ」とありがたいお言葉を頂戴できるのですが、フィールドのセットそのものを渡さなかった場合、何も起きずに素通りしてしまうわけです。 今まで気づかなかったのは、たまたま入力フォームの作成時にフィールドの漏れがなかったということです。