Создание поля как требуется в представлении Razor

Я хочу сделать текстовое поле в соответствии с требованиями бритвы. Я не могу использовать атрибут проверки[Required] потому что имена полей генерируются динамически. Я проверилэтот ответ который устанавливаетdata-val-required поле дляtrue используя JavaScript. Есть ли другой способ сделать это, так как я не буду знать идентификатор поля перед запуском проекта?

Редактировать:

Я попробовал приведенный ниже код, и теперь он работает, за исключением того, что сообщение проверки не отображается при отправке формы.

@for (int i = 0; i < Model.Controls.Length; i++)
{
            @Html.TextBoxFor(x => x.Controls[i].Value, new { id = obj.VitalName,  data_val_required = "true" })
            @Html.ValidationMessageFor(x => x.Controls[i].Value, "Please fill in the details.")
        </td>
    </tr>
}

Ответы на вопрос(3)

Ваш ответ на вопрос