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

非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: 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. Python运行出现:ModuleNotFoundError: No module named 'logbook',解决办法

    ModuleNotFoundError: No module named 'xlrd' ModuleNotFoundError: No module named 'xlwt' AttributeErr ...

  2. putchar(".:-=+*#%@"[(int)(d * 5.0f)])

    前两天在玩知乎时候见到有个用C语言画心的小代码感觉还是蛮好玩的,不过,里面有行代码看了好久才懂: putchar(".:-=+*#%@"[(int)(d * 5.0f)]); ,先 ...

  3. 《零基础学习Python制作ArcGIS自定义工具》课程简介

    Python for ArcGIS Python for ArcGIS是借助Python语言实现ArcGIS自动化行为的综合,它不止是如课程标题所述的“制作ArcGIS自定义工具”,还包括使用Pyth ...

  4. ubuntu16.04安装LNMP(ubuntu+Nginx+mysql+PHP7.0)

    系统环境: Ubuntu 16.04.2 LTS nginx version: nginx/1.10.3 (Ubuntu) PHP 7.0.22-0ubuntu0.16.04.1 mysql  Ver ...

  5. Primeng UI框架ionic3 中下拉选择插件p-dropdown 插件的使用方法

    1.html引入: <p-dropdown float-right [options]="sortOption" [(ngModel)]="sortNow" ...

  6. 【JavaWeb项目】一个众筹网站的开发(一)架构搭建

    本项目是@尚硅谷相关视频的记录. 本项目使用Maven构建,工程架构如下图所示: 一.公司的公共父工程和工具类包 1.父工程 每个公司都有自己的父工程 父工程作用:对公司使用的jar包进行统一管理,别 ...

  7. boost库:事件处理

    boost库的signal所实现的模式被命名为信号至插槽,当对应的信号被发出时,相关联的插槽即被执行. #include <boost/signal.hpp> #include <i ...

  8. tp框架基础控制器调用方法

    public function indd(){ //调用该控制器下的某个方法 $this ->index(); //跨控制器调用 $k = A("index");// 创建控 ...

  9. 高精度小数BigDecimal+二分——java

    高精度小数第一题 import java.util.*; import java.math.*; public class Main { public static void main(String ...

  10. 探索Redis设计与实现1:Redis 的基础数据结构概览

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...