asp.net-mvc – AddImplicitRequiredAttributeForValueTypes如何
这是一个描述(ASP.NET MVC 3):
>我将此参数DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes保留为默认值true(使用调试器检查) public class MyModel { public int SomeField { get; set; } } >当我将空表单发布到此操作时(没有指定SomeField): public ActionResult Submit(MyModel request) { if (ModelState.IsValid) { .. } else { .. } } >我没有任何验证错误!在我看来这是合乎逻辑的 – int的默认值是0.这是一个值. 问题: 如果我想强制这个值总是在请求中明确设置我应该使它可以为空并将[必需]放在它上面,这是有效的.但是DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes用于什么? 解决方法
如果我们引用ASP.NET MVC源,则仅在
DataAnnotationsModelValidatorProvider.Getvalidators方法中检查DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes,该方法为HTML Helpers(在呈现data-val- *属性时)和
DefaultModelBinder提供验证元数据.
因此,当需要更改客户端验证的行为并允许将值类型传递给控制器??操作时,允许传递空值(即,字段已过帐但没有设置值),可以设置DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – EditorFor – 传入字典的模型项目的类型为
- asp.net中符合SCORM的LMS
- asp.net-mvc – 存储网站图像的最佳方式
- asp.net-mvc – ASP.Net MVC Kendo Grid的自定义分页
- asp.net-web-api – 间歇性“无法加载类型”System.Net.Htt
- 将ASP.NET网站转换为原生Android / iOS应用程序
- ASP.NET MVC 3中建立的[Email]属性是不是?
- asp.net-core – 我需要在ASP.NET Core for Cache中调用Add
- ASP.NET MVC4异步聊天室的示例代码
- asp.net-mvc – Asp.net MVC 3 RC – Razor ValidationMess
- asp.net – 如何按优先级或按字母顺序对Request.
- ASP.NET MVC,AngularJS,Bower和部署站点文件夹结
- Castle DynamicProxy基本用法(AOP)
- 为什么工作线程使我的ASP.NET生成器在睡眠期间遇
- asp.net-mvc-3 – 使用bootstrap,Asp.net Mvc 3和
- 什么可能导致ASP.NET在调试中跳过行?
- ASP.net在发布时不会填充服务器表单的action =“
- asp.net – 无法加载类型’system.data.entity.d
- asp.net – 当完全执行OnResultExecuted和OnResu
- asp.net-core – .net核心自定义身份验证中的Use