in my case, i discovered that one of before_validation was messed up all the validations. So, just comment all yours before_validation , and uncomment one by one, until you find what is this strange behavior.
Edit: And another solution that i find, is use validate instead of before_validation for some cases for initialize something.