Проверка на стороне сервера все равно будет работать, если вы создадите класс на стороне сервера с правилами проверки.Но добавление клиентских полей ввода должно быть сделано вручную и без использования модели представления:
<% using Html.BeginForm("ActionName", "Controller") %>
<% { %>
<%= Html.TextBox("Name") %>
<%= Html.TextBox("Email") %>
<%= Html.TextBox("Phone") %>
<%= Html.TextArea("CommentText") %>
<% } %>
Ваше действие контроллера будет выглядеть так:
[HttpPost]
public ActionResult ActionName(Comment comment)
{
if (!this.Model.IsValid)
{
// handle model state exception
}
// save comment
return // whatever needed
}
конечно, пока вы имеетекласс:
public class Comment
{
[Required]
public string Name { get; set; }
[RegularExpression(/* provide the email reg ex here */)]
public string Email { get; set; }
public string Phone { get; set; }
[Required] // probably, but you'd know best
public string CommentText { get; set; }
}
И при этом я призываю вас прочитать мою запись в блоге об Asp.net MVC ajax и проверке модели, которая может вам помочь.