У меня есть проект в MVC 4 и AngularJS (+ twitter bootstrap). Обычно я использую в своих проектах MVC "jQuery.Validate", "DataAnnotations" и "Razor". Затем я включаю эти ключи в свой web.config для проверки свойств модели на клиенте:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Например, если у меня в моей модели это:
[Required]
[Display(Name = "Your name")]
public string Name { get; set; }
С помощью этого Cshtml:
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
Результат html:
<label for="Name">Your name</label>
<input data-val="true" data-val-required="The field Your name is required." id="Name" name="Name" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
Но теперь, когда я использую AngularJS, я хочу сделать так, как это:
<label for="Name">Your name</label>
<input type="text" ng-model="Name" id="Name" name="Name" required />
<div ng-show="form.Name.$invalid">
<span ng-show="form.Name.$error.required">The field Your name is required</span>
</div>
Я не знаю, есть ли помощник или "Аннотации данных", чтобы решить эту проблему. Я понимаю, что у AngularJS есть много других функций, таких как:
<div ng-show="form.uEmail.$dirty && form.uEmail.$invalid">Invalid:
<span ng-show="form.uEmail.$error.required">Tell us your email.</span>
<span ng-show="form.uEmail.$error.email">This is not a valid email.</span>
</div>
Ну, в частности. Мне нужен помощник или "Аннотации данных" для разрешения атрибутов (Data Annotation) для отображения на клиенте с помощью AngularJS.
Если он все еще не существует, возможно, пришло время сделать, например RazorForAngularJS
Edit
Я думаю, что лучший способ работать с ASP.NET MVC и AngularJS - это делать (front-end
) вручную (записывая все HTML вручную)