@model HelloWorldMvcApp.SampleViewModel
var Q2Attributes = Html.GetUnobtrusiveValidationAttributes("QuestionTwo");
var Q3Attributes = Html.GetUnobtrusiveValidationAttributes("QuestionThree");
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MVC Form Example</title>
.field-validation-error {
<div class="col-md-6 col-md-offset-3">
@using (Html.BeginForm())
@Html.LabelFor(m => m.QuestionOne)
@Html.TextBoxFor(model => model.QuestionOne)
@Html.ValidationMessageFor(model => model.QuestionOne)
<h4>Attributes added using jQuery</h4>
@Html.LabelFor(m => m.QuestionTwo)
id="@Html.IdFor(m => m.QuestionTwo)"
name="@Html.NameFor(m => m.QuestionTwo)"
value="@Model.QuestionTwo"
@Html.ValidationMessageFor(model => model.QuestionTwo)
<h4>Attributes added using inline code</h4>
@Html.LabelFor(m => m.QuestionThree)
id="@Html.IdFor(m => m.QuestionThree)"
name="@Html.NameFor(m => m.QuestionThree)"
value="@Model.QuestionThree"
@foreach(var attr in Q3Attributes)
@:@attr.Key="@attr.Value"
@Html.ValidationMessageFor(model => model.QuestionThree)
<button type="submit" class="btn btn-success submit">Submit</button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript">
var attributes = @Html.Raw(Json.Encode(Q2Attributes));
var input = $('#QuestionTwo');
for(var i in attributes) {
input.attr(i, attributes[i]);