В данный момент я разговариваю по телефону, поэтому не пользуйтесь рефлектором или IDE, однако я не думаю, что вы можете сделать это без изменения валидаторов, потому что их поведение заключается в использовании строки формата сообщения об ошибке, передавая то же отображаемое имя, которое вы изменили здесь. Хотя я могу ошибаться (мне нравится ваш подход здесь).
Однако я сделал то, что вы сделали, написав пользовательские шаблоны редактора, которые также передают контроль над HTML в руки веб-разработчика. используя подход метаданных, вы не можете присвоить звездочке, скажем, свой собственный класс для раскраски.
Еще лучше с использованием шаблонов, если вы используете бритву, вы можете использовать шаблон макета, чтобы все типы полей могли использовать стандартный подход метки / ввода.
Использование Html.LabelFor, за которым следует необязательный блок, если требуется текущая модель, предлагает большую гибкость, я думаю, и я бы предпочел это по сравнению с решением на основе метаданных, поскольку оно также не мешает проверочным сообщениям.
Как я уже сказал, на начальном сомнении я могу ошибаться:)