Сообщение от
S.Kuskov
Почему не так? Так.
Метод leaveRecord() при уходе с записи вызывается всегда, только с разными параметрами. Если система считает, что запись не изменена, то попытки сохранения записи не будет. Если же запись была изменена пользователем (либо выставлен флаг forceWrite), то при уходе с записи будет совершена попытка сохранения. Будут произведены все необходимые проверки, включая обязательность полей. Если будут обнаружены ошибки, то запись сохранена не будет и уход с записи также не будет выполнен.