解决.Net MVC 中出现 非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: required 的bug
最近在开动科技创新作品的开发,出现了一个让人很烦恼的错误,每次从浏览页跳转到编辑页时就会出现一下错误
非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: 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的更多相关文章
- 出现异常: 非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复: required
在将web.config文件中的<add key="ClientValidationEnabled" value="false" /> 设为fals ...
- 在自定义的js验证规则中调用magento的VarienForm方法验证表单
js部分<script type="text/javascript"> //<![CDATA[ var loginForm = new VarienForm('l ...
- [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则
目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...
- Java IO(3)非阻塞式输入输出(NIO)
在上篇<Java IO(2)阻塞式输入输出(BIO)>的末尾谈到了什么是阻塞式输入输出,通过Socket编程对其有了大致了解.现在再重新回顾梳理一下,对于只有一个“客户端”和一个“服务器端 ...
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
原文:ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象, ...
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用
数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. ...
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用----[转]--[并修改了部分内容]
Asp.net MVC验证那些事(1)-- 介绍和验证规则使用 -----原文地址链接 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validati ...
- MVC验证03-自定义验证规则、禁止输入某些值
原文:MVC验证03-自定义验证规则.禁止输入某些值 本文继续体验自定义验证规则,需求是禁止输入某些值.本文与前2篇相关,请参考:MVC验证01-基础.远程验证 MVC验证02-自定义验证规则.邮 ...
- MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
MVC的验证(模型注解和非侵入式脚本的结合使用) @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...
随机推荐
- python学习笔记--类(一)
# 类是为了代码重用 class First: #类 pass #实例 = 类名() obj = First() # 类是一种产生实例的工厂# 类和模块的差异在于,内存中特定的模块只有一个实例(所以我 ...
- java 调用DB2 SYSPROC.ADMIN_CMD存储过程导出数据
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import ...
- SET - 改变运行时参数
樊伟胜SYNOPSIS SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT } SET [ SESSION | LO ...
- django中动态生成二级菜单
一.动态显示二级菜单 1.修改权限表结构 (1)分析需求,要求左侧菜单如下显示: 客户管理: 客户列表 账单管理: 账单列表 (2)修改rbac下的models.py,修改后代码如下: from dj ...
- 巨好看的xshell配色
推荐字体Lucida console [FlatUI] text=e5e5e5 cyan(bold)=16a085 text(bold)=ecf0f1 magenta=9b59b6 green=2ec ...
- 设置php的环境变量 php: command not found
执行远程服务器上的某个脚本,却报错,提示php:command not found 找不到php命令 which php 结果是/usr/local/php/bin/php echo $PATH 结 ...
- 【leetcode】996. Number of Squareful Arrays
题目如下: Given an array A of non-negative integers, the array is squareful if for every pair of adjacen ...
- noi2019感想
不知道怎么想的,我现在已经没有心情写一篇完整的游记了. 发挥的是真的太差,Day1该切的T2没有切掉,想的时候漏了一个性质,便由100->45. Day1的时间全花在了T3上,结果想歪了,最后只 ...
- php abs()函数 语法
php abs()函数 语法 abs()函数怎么用? abs()函数的作用是返回一个数的绝对值.语法是abs(number),如果参数 number 是 float,则返回的类型也是 float,否则 ...
- nucleus plus学习总结(后续)
前言: 刚刚抽筋点了保存发布,结果要审核,那就分开写个续好了. 内容: signal 信号是异步通知task的一种机制,HISR是不可以接收信号的,但是可以发送信号. TCB中 ...