最近在开动科技创新作品的开发,出现了一个让人很烦恼的错误,每次从浏览页跳转到编辑页时就会出现一下错误

非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: required

上一下出错的代码

model

 public partial class td_students
{ [StringLength()]
[Key]
[HiddenInput(DisplayValue = false)]
public string Id { get; set; } [Required]
[StringLength()]
[Display(Name = "学号")]
public string school_code { get; set; } [Required]
[StringLength()]
[Display(Name = "姓名")]
public string student_name { get; set; } [StringLength()]
[Display(Name = "年级")]
public string grade { get; set; } [StringLength()]
[Display(Name = "院系")]
public string dept { get; set; } [StringLength()]
[Display(Name = "专业")]
public string major { get; set; } [StringLength()]
[Display(Name = "班级")]
public string banji { get; set; } [StringLength()]
[Display(Name = "性别")]
public string gender { get; set; } [StringLength()]
[Display(Name = "民族")]
public string nation { get; set; } [Display(Name = "出生日期")]
public DateTime? born_date { get; set; } [StringLength()]
[Display(Name = "手机号码")]
public string telephone { get; set; } [StringLength()]
[Display(Name = "政治面貌")]
public string politicstatus { get; set; } [StringLength()]
[Display(Name = "身份证号码")]
public string ID_card { get; set; } [StringLength()]
[Display(Name = "户籍")]
public string native_place { get; set; } [StringLength()]
[Display(Name = "家庭住址")]
public string address { get; set; } [StringLength()]
[Display(Name = "家庭联系电话")]
public string home_telephone { get; set; } [Display(Name = "入学时间")]
public DateTime? rollin_date { get; set; } [StringLength()]
[Display(Name = "宿舍")]
public string dormitory { get; set; } [StringLength()]
[Display(Name = "照片")]
public string imageurl { get; set; } public bool? audit { get; set; } [Column("lock")]
public bool? _lock { get; set; }
}

前端代码:

 @using (Html.BeginForm("Edit", "Student", FormMethod.Post, new { enctype = "mutipart/form-data", @class="form-inline" }))
{
<div class="panel-body">
@Html.Hidden("studentId", Model.Id)
@foreach (var property in ViewData.ModelMetadata.Properties)
{
switch (property.PropertyName)
{
case "Id":
case "audit":
case "_lock":
case "imageUrl":
break;
default:
<div class="form-group">
<label>@(property.DisplayName ?? property.PropertyName)</label>//这里就抛出异常
@Html.TextBox(property.PropertyName, null, new { @class = "form-control form-inline input-sm" })
@Html.ValidationMessage(property.PropertyName)
</div>
break;
}
} </div>
}

国内搜索引擎搜索不到任何相关的解决方案 使用google搜索,终于StackOverflow的在不起眼的小角落里找到了解决办法

翻译过来就是因为引入了Ninject.MVC3这个包,出现了注入验证,卸载Ninject重装之后就解决了问题

我的项目中也使用了Ninject来做依赖注入  安装的是Ninject.MVC5这个包 卸载重装之后搞定

真的是揪心啊

这里说一句,遇到问题国内搜索引擎搞不定,就去StackOverflow.com 一般都可以找到解决方案

解决.Net MVC 中出现 非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: required 的bug的更多相关文章

  1. 出现异常: 非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: required

    在将web.config文件中的<add key="ClientValidationEnabled" value="false" /> 设为fals ...

  2. 在自定义的js验证规则中调用magento的VarienForm方法验证表单

    js部分<script type="text/javascript"> //<![CDATA[ var loginForm = new VarienForm('l ...

  3. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  4. Java IO(3)非阻塞式输入输出(NIO)

    在上篇<Java IO(2)阻塞式输入输出(BIO)>的末尾谈到了什么是阻塞式输入输出,通过Socket编程对其有了大致了解.现在再重新回顾梳理一下,对于只有一个“客户端”和一个“服务器端 ...

  5. ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则

    原文:ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象, ...

  6. Asp.net MVC验证那些事(1)-- 介绍和验证规则使用

    数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. ...

  7. Asp.net MVC验证那些事(1)-- 介绍和验证规则使用----[转]--[并修改了部分内容]

    Asp.net MVC验证那些事(1)-- 介绍和验证规则使用 -----原文地址链接 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validati ...

  8. MVC验证03-自定义验证规则、禁止输入某些值

    原文:MVC验证03-自定义验证规则.禁止输入某些值 本文继续体验自定义验证规则,需求是禁止输入某些值.本文与前2篇相关,请参考:MVC验证01-基础.远程验证   MVC验证02-自定义验证规则.邮 ...

  9. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

随机推荐

  1. js自增++与自减--运算符

    /** * 自增(++)与自减(--)运算符 */ // 自增示例 var a = 1, c, d, e; console.log(`a++ = ${a++}`); // a++ = 1 consol ...

  2. flask开发问题小记

    前因 最近在使用flask开发一个APP的后端时出现了一些小问题.我使用sqlalchemy建立了如下多对多关系: 中间表 user_manager_group = db.Table('manage_ ...

  3. 代码解释n |= n >>> 16

    public static int nextPowerOf2(int n) {n -= 1;n |= n >>> 16;n |= n >>> 8;n |= n &g ...

  4. 77th ploty 制图神器

    https://blog.csdn.net/u012897374/article/details/77857980

  5. ubuntu oracle数据库18c安装

    一.官网下载linux两个zip包 二.byqKx8a2tWcgBHb

  6. js console对象

    js调试 根据信息的不同性质,console对象显示信息的方法,分别是一般信息console.log(),console.info().除错信息console.debug().警告提示console. ...

  7. Windows下Maven安装 + eclipse集成

    一.什么是maven? Maven是一个项目管理工具,能方便的帮我们下载jar包,告别传统手动导包的方式. 二.maven仓库 maven中有中央仓库,本地仓库,私服三个概念 1.中央仓库是maven ...

  8. JAXB中的@XmlRootElement注解详解

    @Retention(value=RUNTIME) @Target(value=TYPE) public @interface XmlRootElement @Inherited @Retention ...

  9. Java8 map value排序

    /** * Map value降序排序 * @param map * @param <K> * @param <V> * @return LinkedHashMap */ pu ...

  10. uni-app——小程序插件使用wx.createSelectorQuery()获取不到节点信息

    发现小程序一个bug, 在小程序插件中使用wx.createSelectorQuery()获取不到节点信息,需要在后面加入in(this) 例如: const query = wx.createSel ...