Asp.Net Mvc 3 Client Validation, Attributes generation

Viewed 2047

Asp.net Mvc3 ads some custom attributes like "data-val-required" on input elements to perform validation. I know all theory behind this, how it works.

What i want to know is :

When I create my form inside " @using (Html.BeginForm())" it produces custom attributes, but it doesn't create those attributes when i place my form between plain "<form>" tag.

below is a demo i have created to demonstrate what iam saying

Razor Code, form inside BefingForm()

 @using (Html.BeginForm()) {
                @Html.EditorFor(model => model.EmailAddress)
                @Html.ValidationMessageFor(model => model.EmailAddress)
}

generated Html contains "data-val-required" as attribute shown below

<input type="text" value=""  data-val-required="The Email Address field is required."  data-val-email="my message">

Razor Code Form inside pure Html Tag

<form action="/Account/Register" method="post">
            @Html.EditorFor(model => model.EmailAddress)
            @Html.ValidationMessageFor(model => model.EmailAddress)
</form>

generated Html doesnt contain "data-val-required" attribute shown below

<input type="text" value=""  gtbfieldid="44">

My question is how can i ask MVC to add those attributes even form is placed in side pure html tags

2 Answers
Related