asp.net – 如何创建自定义数据注释验证器
想要创建自定义数据注释验证。有没有什么有用的指南/样本如何创建?
首先: 其次: 更新: 解决方法
要创建自定义数据注记验证器,请按照以下gudelines:
>你的类必须继承System.ComponentModel.DataAnnotations.ValidationAttribute类。 而已。 重要警告 有时开发人员检查该值不为null / empty并返回false。这通常是不正确的行为,因为它在必需的验证器检查哪个意味着您的自定义验证器应该只验证非空数据,但返回true否则(见示例)。这将使它们可用于强制性(必需)和非强制性字段。 例 public class StringLengthRangeAttribute : ValidationAttribute { public int Minimum { get; set; } public int Maximum { get; set; } public StringLengthRangeAttribute() { this.Minimum = 0; this.Maximum = int.MaxValue; } public override bool IsValid(object value) { string strValue = value as string; if (!string.IsNullOrEmpty(strValue)) { int len = strValue.Length; return len >= this.Minimum && len <= this.Maximum; } return true; } } 可以在属性中设置所有属性,以便设置它们。 [Required] [StringLengthRange(Minimum = 10,ErrorMessage = "Must be >10 characters.")] [StringLengthRange(Maximum = 20)] [Required] [StringLengthRange(Minimum = 10,Maximum = 20)] 当未设置特定属性时,其值在构造函数中设置,因此它始终具有值。在上面的使用示例中,我故意添加了所需的验证器,所以它与我写的上述警告同步。 重要 所以这个验证器仍然可以处理你不需要的模型值,但是当它存在时,它会验证(在Web表单中考虑一个文本字段,这不是必需的,但是如果用户输入一个值,它必须是有效的) 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 实体框架 – 如何添加外部参考ASP.Net MVC 5身份?
- ASP.NET Development Server未更新对标记/代码的更改
- 具有Winforms,WPF和ASP.NET自由许可的开源控制库
- asp.net – Response.Redirect(“SomeURL”,false)的有效用
- asp-classic – IIS Express是否支持ASP Classic?
- asp.net-mvc – 如何将应用程序用户放在与其余对象相同的上
- asp.net-mvc – 测试ASP.NET MVC网站
- asp.net – 使用标记将字典绑定到转发器
- asp.net-mvc – 将mvc3中的下拉列表绑定到字典?
- asp.net-mvc – MVC 5中的Web API属性路由异常:该对象尚未