В общем люди, я извлёк следующие уроки.
1) Пароль может храниться в БД в любом виде, но не NULL . А значит, что если пароль есть, то его можно сохранять. Проверку на валидность пусть делает тот кому это надо (контроллер).
2) Если поле NO NULL, а в модель бросили NULL, то она бросает исключение, т.к. она знает, как хранится оно в самой БД, null или не null
3) Модель будет проверять переданное число на соответствие типа, и в случае неуспеха (строка вместо числа), она бросит исключение, потому как нелогично делать такую вещь:
$this->price = (float) $this->price;
А если вдруг так строка - "Вася"? То она просто сохранит "1", как же так, нелогично!
Однако [price = -10] модель съест, потому как в БД можно такое записать.
Если у кого-то есть другое мнение, прошу продискутировать!
Если прошло время (сейчас: 13.05.15г.), но вы не согласны со мной, пожалуйста напишите мне: kofon95@mail.ru
Я серьёзно!