Это скорее теоретический вопрос.
В настоящее время я изучаю валидацию MVC 3 с помощью ComponentModel.DataAnnotations, и все работает автоматически, особенно на стороне клиента.
Каким-то образом что-то проверяет наличие эти атрибуты и генерирует javascript для проверки (или атрибуты html5, если используется ненавязчивый режим), и он работает.
У меня вопрос, что генерирует JavaScript на стороне клиента и как я могу получить к нему доступ и изменить? Например, я хочу обрабатывать указанные атрибуты аннотации данных немного по-другому или обрабатывать настраиваемые атрибуты (я обнаружил, что могу получить их из ValidationAttribute, но, возможно, по какой-то причине я не хочу).
Может кто-нибудь объяснить мне, что происходит на самом деле? (Или ссылки на хорошие объяснения тоже были бы хороши, так как я нашел только учебные пособия по фактическому использованию аннотаций данных)
РЕДАКТИРОВАТЬ: Также при наследовании от ValidationAttribute проверка на стороне клиента не работает автоматически. Почему?