Какие есть технологии, методики или инструменты для упрощения валидации и обработки данных на Front-end и Back-end?
=====================================================================================================================

 Какие есть технологии, методики или инструменты для упрощения валидации и обработки данных на Front-end и Back-end в случае с ASP.NET MVC приложением?   

Когда много различных параметров отправляемых с Фронта на Бэк и обратно + они периодически меняются или дополняются новыми, то легко забыть о какой-то проверке на одной из сторон или не корректно сконвертировать данные и потом долго искать, в каком это месте, AutoMapper падает, к примеру... :)  

Подскажите, к то знает, какие-то Best Practice для Fullstack разработки.  

Заранее, спасибо! 

 Один из подходов (достаточно успешный), использовать единую кодовую базу со статической типизацией.   

В которой одна и таже кодовая база (модель данных например), переиспользуется как на бэке, так и на фронте.   

Для этого или бэкенд на ЖС набирается (нода), или Фронтэнд (ЖС), генерируется из языка на бэкенде.   

Такой подход позволяет очень быстро создавать прототип и его быстро переделывать, при этом можно сделать бесшовную связь бэкенда с фронтэндом без необходимости описывать апи.   

Конечно в итоге вы получаете сильно связанный код, который по-хорошему потом все равно переписать надо, однако для прототипирования самое то. 

 Поскольку мы в разделе ASP.NET, то буду говорить про него. Не знаю каким образом мы можем синхронизировать валидацию на фронтенде и бекенде, мне даже кажется это технически нереализуемо, но могу ошибаться. Если мы говорим о валидации в целом, то мы в первую очередь должны обеспечивать 100% валидацию на стороне сервера, потому что не хотим, чтобы была нарушена целостность данных и т.д. Тут надо руководствоваться принципом fail fast - как можно быстрее проверяем валидность данных из запроса. Чтобы привести валидацию к какому-то организованному виду можно использовать, например, библиотеку FluentValidation.