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

非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: 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. C# 与 C++ 互操作(C# 调用 C++ 的动态链接库)

    1.新建 C++ 动态链接库项目 CPlus.cpp: #include "stdafx.h" extern "C" __declspec(dllexport) ...

  2. shell位置参数处理举例

  3. gym/102253C Colorful Tree 树上计数

    题意:有一颗数,每个点有一个颜色,定义两点之间的距离为两点路径之间不同颜色的数目,问所有路径的距离和是多少? 思路:每个颜色的贡献为路径中有这个颜色的路径数.先假设所有路径都会经过一种颜色,再减去不会 ...

  4. 【Database】MySQL实战45讲

    01 | 基础架构:一条SQL查询语句是如何执行的? 1. MySQL 的基本架构图: MySQL可以分成: Server层 和 存储引擎层 两部分. Server层:包含连接器.查询缓存.分析器.优 ...

  5. 力扣 —— Two Sum ( 两数之和) python实现

    题目描述: 中文: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利 ...

  6. setattr(object, name, value)¶

    This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. ...

  7. JUC线程池

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11443644.html newFixedThreadPool 重用指定数目(nThreads)的线程, ...

  8. js 微信公众号网页用户授权,获取微信code,access_tocken,用户信息

    第一次做微信网页授权,过程有点艰难,主要是不知道redirect_uri的地址要怎么写,刚开始我以为就是授权结束后要跳转到的首页地址,于是写成了uri = 'http://18i194c049.ias ...

  9. CSS 的基础语法

    1.基础语法规则 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 每条声明由一个属性和一个值组成.每个属性有一个值.属性和值被冒号分开. selector {property: val ...

  10. rsync和rsync后台模式

    注意(有软连接的rsync同步,-L可以把软链接里的当普通文件同步.-l 只同步软链接不同步软链接指向的目录或文件) rsync命令详解 rsync -a 归档模式 ,表示以递归方式传输文件,并保持所 ...