在.Net中禁用@ Html.TextBoxFor中的验证

Mol*_*lay 7 .net asp.net-mvc asp.net-mvc-3

我正在使用ASP.Net MVC 3.我有一个名为Student的实体,其属性为Id,Name,Age,RollNo.在Student的创建页面中,我使用了验证框架.但是在高级搜索页面中,我使用了所有属性但不想使用验证框架,因为用户可能不想使用所有字段进行搜索.

我还想提一下,我在模型类中使用了[Required]注释.

请帮我解决这个问题.

问候莫莱

eth*_*th0 16

我同意xixonia,使用单独的View Model进行搜索,但是为了回答你的问题,你有一些客户端的选择:

  1. 通过在data-val = "false"作为一个HTML属性,例如:@Html.TextBoxFor(x => x.Age, new { data_val = "false" });
  2. @Html.TextBox()改用
  3. 使用相同的输入名称使用HTML手动创建文本框,以便绑定到模型

如果您正在后端进行验证(您应该!),即检查ModelState.IsValid然后您必须从ModelState中删除验证属性,如下所示:ModelState.Remove("Age");.