Model validation not run when using EntriesService saveEntry method
It's normal behavior... EntriesService-&gt;saveEntry() never calls validate() on the model directly, but does call validate() on the EntryRecord and if there are errors, add it back to the model and return.

So if you want to run custom validation rules before calling saveEntry you'll need to do that yourself and respond accordingly.