Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何永久禁用特定字段的mvc客户端验证?_C#_Asp.net Mvc_Asp.net Mvc 3_Client Side Validation - Fatal编程技术网

C# 如何永久禁用特定字段的mvc客户端验证?

C# 如何永久禁用特定字段的mvc客户端验证?,c#,asp.net-mvc,asp.net-mvc-3,client-side-validation,C#,Asp.net Mvc,Asp.net Mvc 3,Client Side Validation,在我的MVC3应用程序中,我有一个包含2个dropdownlists的表单,这不是必需的。因此,我没有在分部类的相关属性中添加任何注释。查看添加新对象时生成的html代码,没有添加任何客户端验证代码,一切正常。当我试图修改一个对象,该对象的属性值与dropdownlists相关时,问题就出现了,因为自动添加了该代码 data val=“true”data val number=“字段IDCategory必须是一个数字。”data val required=“IDCategory字段是必需的。”i

在我的MVC3应用程序中,我有一个包含2个dropdownlists的表单,这不是必需的。因此,我没有在分部类的相关属性中添加任何注释。查看添加新对象时生成的html代码,没有添加任何客户端验证代码,一切正常。当我试图修改一个对象,该对象的属性值与dropdownlists相关时,问题就出现了,因为自动添加了该代码

data val=“true”data val number=“字段IDCategory必须是一个数字。”data val required=“IDCategory字段是必需的。”id=“ddlcegory”name=“List.Category.IDCategory”

因此,如果我在这个对象上尝试在dropdownlists上不设置任何值,并且在提交表单之后,就会触发验证错误。 我认为解决方案有2个:

  • 在相关属性上添加一些注释,以始终避免生成验证代码
  • 向视图中的对象添加属性(就像按钮上的cancel类一样,我尝试向它们添加属性,但不起作用)

提前谢谢

始终可以使用JQuery从特定控件中删除客户端验证类

$('#myControl').removeClass('myClass');

你的编辑模型类是什么样子的?也许这会有帮助:@frennky:这似乎是我在寻找的,但在我的情况下,它不起作用:(,我不知道为什么。我检查了,值可以为null,我的db接受null值。因为我的POCO类是从db生成的,我不知道为什么它会添加验证。现在我尝试通过jquery执行一些技巧。我注意到消息被添加到所有属性(五个)在我的表单中,只有前两个是用必需的属性编辑的!我添加了这一行DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes=false,但没有!:/但是如果添加了mvc,那么不会也有服务器端验证吗?是的,会有,或者至少应该有!但是您必须决定如何进行验证为了更好地使用它。您可以决定发布单个模型,然后使用自定义逻辑来确定哪些是/哪些是无效的。或者您可以将表单发布到两个不同的方法,每个方法都绑定到不同版本的业务对象,每个方法都有自己的必填字段集。