data-annotations相关内容

编写 CompareTo DataAnnotation 属性

我想与字段进行比较(例如,确保开始时间在结束时间之前).我正在使用 System.ComponentModel.DataAnnotations 属性进行验证. 我的第一个想法是这样的: 公共枚举 CompareToOperation{等于,少于,比...更棒}公共类 CompareToAttribute : ValidationAttribute{比较操作_操作;IComparable _ ..
发布时间:2021-12-10 23:28:41 C#/.NET

使用 DataAnnotations 比较两个模型属性

我将如何编写比较两个字段的自定义 ValidationAttribute?这是常见的“输入密码"、“确认密码"场景.我需要确保这两个字段相等并保持一致,我想通过 DataAnnotations 实现验证. 所以在伪代码中,我正在寻找一种方法来实现如下内容: 公共类SignUpModel{[必需的][显示(名称=“密码")]公共字符串密码{获取;放;}[必需的][Display(Name = ..
发布时间:2021-12-10 23:24:23 C#/.NET

用于验证的数据注释,至少有一个必填字段?

如果我有一个包含字段列表的搜索对象,是否可以使用 System.ComponentModel.DataAnnotations 命名空间将其设置为验证搜索中的至少一个字段不为 null 或为空?即所有字段都是可选的,但应始终输入至少一个. 解决方案 我会为此创建一个自定义验证器 - 它不会为您提供客户端验证,只会提供服务器端验证. 请注意,要使其正常工作,您需要使用 nullable ..

DataAnnotations:递归验证整个对象图

我有一个带有 DataAnnotation 属性的对象图,其中对象的某些属性是类,这些类本身具有验证属性,等等. 在以下场景中: 公共类员工{[必需的]公共字符串名称 { 获取;放;}[必需的]公共地址地址{获取;放;}}公开课地址{[必需的]公共字符串 Line1 { 获取;放;}公共字符串 Line2 { 获取;放;}[必需的]公共字符串城镇{得到;放;}[必需的]公共字符串邮政编码 ..
发布时间:2021-12-10 23:09:10 C#/.NET

如何告诉数据注释验证器也验证复杂的子属性?

是否可以在验证父对象时自动验证复杂的子对象并将结果包含在填充的 ICollection 中? 如果我运行以下代码: 使用系统;使用 System.Collections.Generic;使用 System.ComponentModel.DataAnnotations;命名空间 ConsoleApplication1{公开课人{[必需的]公共字符串名称 { 获取;放;}公共地址地址{获取;放 ..
发布时间:2021-12-10 23:02:00 C#/.NET

ASP.NET Core MetaDataType 属性不起作用

我在域模型类上使用 MetaDataType 属性.它应该将属性信息从引用的类移动到已设置 MetadataType 属性的类中.但它并不像宣传的那样.是什么导致了这里的问题? [MetadataType(typeof(ComponentModelMetaData))]公共部分类组件{公共 int Id { 获取;放;}公共字符串名称 { 获取;放;}公共 ICollection回购 ..
发布时间:2021-12-10 19:14:12 C#/.NET

实体框架代码第一个唯一列

我正在使用 Entity Framework 4.3 和 Code Fist. 我有一堂课 公共类用户{公共 int UserId{get;set;}公共字符串用户名{get;set;}} 如何告诉实体框架在创建数据库表时用户名必须是唯一的?如果可能,我更愿意使用数据注释而不是配置文件. 解决方案 EF4.3 的解决方案 唯一用户名 在列上添加数据注释: [索引( ..

属性为 [Required] 且可为 null 是什么意思?

属性为 [Required] 并且可以为 null 是什么意思?(下面的例子)似乎如果它是 [Required] 它不可能是 null (没有值),如果它能够是 null 不可能是[Required]. [必填]公共日期时间?订单日期 { 获取;放;} 解决方案 使属性可以为空并用 [Required] 属性标记的原因是为了防止发布不足的攻击.它还允许您在视图中显示初始空值而不是属性的默认值 ..
发布时间:2021-12-03 15:44:08 C#/.NET

在某些情况下禁用必需的验证属性

我想知道是否可以在某些控制器操作中禁用必需的验证属性.我想知道这一点,因为在我的其中一个编辑表单上,我不需要用户为他们之前已经指定的字段输入值.但是,我随后实现了这样的逻辑:当他们输入一个值时,它使用一些特殊的逻辑来更新模型,例如散列值等. 有关如何解决此问题的任何建议? 编辑: 是的,客户端验证在这里是一个问题,因为它不允许他们在不输入值的情况下提交表单. 解决方案 这个问 ..
发布时间:2021-11-29 08:36:36 C#/.NET

ASP.NET Core Web API 中整数值的自定义模型验证器

我开发了一个自定义验证器属性类,用于检查模型类中的整数值.但问题是这个类不起作用.我已经调试了我的代码,但在调试代码期间没有命中断点.这是我的代码: 公共类 ValidateIntegerValueAttribute : ValidationAttribute{受保护的覆盖 ValidationResult IsValid(object value, ValidationContext val ..
发布时间:2021-11-28 23:33:32 其他开发

使用 Validator 类验证 DataAnnotations

我正在尝试使用 验证器类. 当属性应用于同一个类时它工作正常.但是当我尝试使用元数据类时它不起作用.我应该对 Validator 做些什么以便它使用元数据类?这是一些代码.. 这有效: 公共类角色{[必需(AllowEmptyStrings = false, ErrorMessage = "El nombre es obligatorio")]公共字符串 Nombre { get;放 ..
发布时间:2021-11-26 10:58:55 C#/.NET

如何指定 DataAnnotation ValidationAttribute 的顺序?

问题这里是相似的,但我没有任何域对象继承.我的字段和验证标记按以下顺序排列,但 MustBe18 错误和必需错误是唯一打印的错误.我在此模型中还有其他几个字段进行了更多验证,但代码中 ValidationAttribute 的顺序似乎并不重要.jfar 在链接帖子中的回答似乎暗示可以构建一个助手,但是如何构建?订单怎么控制? [Required(ErrorMessage = "此字段为必填项") ..
发布时间:2021-11-26 10:49:36 其他开发

将项目从 .NET 4.0 升级到 .NET 4.5 后失败 =>找不到类型或命名空间名称“MaxLength"/“Column"

我有一个面向 .Net 4.0 和实体框架 4.3.1 的工作网站.安装 .Net 4.5(使用 Visual Studio Express 2012)后,我可以在 Visual Web Developer Express 2010 上编译网站,但是当我尝试导航到 http://localhost/ 我收到此错误: CS0246“找不到类型或命名空间名称‘MaxLength’" [Co ..
发布时间:2021-11-24 10:29:17 C#