не понимаю, как isValid влияет на удаление

Допиши про инициализацию по view, мне кажется, что логичнее это делать в модели, чем хранить данные модели в view