Fazendo um campo conforme requerido na visão Razor

Eu quero fazer um campo de caixa de texto, conforme necessário na visão de navalha. Eu não posso usar o atributo de validação[Required] porque os nomes dos campos são gerados dinamicamente. eu chequeiesta resposta que define odata-val-required campo paratrue usando javascript. Existe alguma outra maneira de fazer isso, como eu não vou saber o id de campo antes de executar o projeto?

Editar:

Eu tentei o código abaixo e funciona agora, exceto que a mensagem de validação não é exibida no envio do formulário.

@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>
}

questionAnswers(3)

yourAnswerToTheQuestion