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 – 如何以编程方式将参数传递给SSRS报告
- asp.net-mvc – 如何在DB实体的子模型上使用自定义验证属性
- asp.net – Ajax.ActionLink调用控制器两次
- asp.net中的ASHX处理程序文件的好处是什么?
- ASP.NET云应用程序与普通的ASP.NET
- 缓存 – 实体框架的缓存查询5
- asp.net – 更改单个URL查询字符串值
- asp.net-web-api – 认证/授权MVC 5和Web API – Katana /
- asp.net-mvc – 如何创建ELMAH SQL Server数据库?
- ASP.NET MVC Project和App_Code文件夹
