Спасибо! А код не становится очень громоздким от описания этих проверок? Или их принято в отдельные файлы выносить?
Они так-то очень мало места и кода занимают. Если их правильно написать.
Можно только пре-валидацию давать, чтобы во флоу вашего приложения убедиться, что каждая функция "кушает" то, что вы от нее ожидаете. (А чем она "какает" не проверять, ага, я бы тоже не стал).
В чем конкретно ваше беспокойство выражается?