мммм... есть валидация, а есть валидация
"телефон без буков" и "собачки в емейле" это тех.валидация, ее надо делать в data-annotation лейере. (вызывать - из контроллера, мапить - в модели)
а "у юзера нет прав в комнату Х" это уже бизнес-логика, прастити
TLDR: просто делай как говорит
@classmethod