Модель не должна иметь возможность входить в невалидное состояние. Никогда. То есть все данные которые вы отправляете в модель должны быть уже провалидированы, а внутр имодели, внутри какихто методов уже проверяются непосредственно бизнес правила.
FormRequest в Laravel это никто иное как DTO, и это круто поскольку позволяет полностью отвязать логику представлением данных (запрос это тоже представление данных как не крути) от бизнес логики. Бизнес логика ничего не должна знать о каки-то там формах и как пользователь взаимодействует с вашим приложением.