自定义Metadata验证特性

常用的验证特性标签: StringLength ,  Required , RegularExpression , Range , MembershipPasswordAttribute(密码强度限制)

也可以通过简单扩展, 增加自己的验证特性

    /// <summary>
    /// 这东西也就是练手玩一下, 实际 .net framework已有  EmailAddressAttribute -> DataTypeAttribute -> ValidationAttribute
    /// </summary>
    public class EmailAttribute: RegularExpressionAttribute
    {
        public EmailAttribute()
            : base(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9] {1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4})$") //|[0-9]{1,3})(\)?]
        {

        }
    }

    public class UserBaseInfomation
    {
        /// <summary>
        ///
        /// </summary>
        [Email(ErrorMessage="请输入有效的Email内容.")]
        public string Email { get; set; }

        [Range(0,9, ErrorMessage="用户类型的有效范围0-9")]
        public int UserType { get; set; }

    }

当然也可以自己从ValidationAttribute扩展实现.

时间: 2024-10-10 15:53:42

自定义Metadata验证特性的相关文章

自定义权限验证特性

/// <summary> /// 判断是否有权限操作 /// </summary> public class RightAuthorizeAttribute : AuthorizeAttribute { /// <summary> /// actionName /// </summary> private string _actionName; /// <summary> /// controllerName /// </summary&

自定义mvc验证特性,手机号号段老增加,给自定义一个RegularExpress

public class PhoneExpressionAttribute: RegularExpressionAttribute, IClientValidatable{public PhoneExpressionAttribute(): base(@"^1[2,3,4,5,6,7,8,9][0-9]{1}[0-9]{8}$"){}public override string FormatErrorMessage(string name){return String.Format(C

自定义Metadata验证属性

一.定义 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel.DataAnnotations; namespace HJ.BaseMetadata { /// <summary> /// 邮箱验证类 /// </summary> public class EmailAttribute :RegularExpr

mvc 实体类 自定义验证特性

mvc 实体类验证的时候 如果有多个验证特性需要在属性上层叠很多个验证特性,显得属性特别臃肿并且也不够直观,极大地影响我使用它的兴趣,所以我想自定义一个验证特性,然后将所有需要验证的情形全部放在一个特性里,看上去更直观一点. [DataContract] public partial class Sys_Menu : BaseModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [DataMember] publi

jQuery Validate 表单验证插件----自定义一个验证方法

一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script src="lib/jquery.validate.js" type="text/javascript"

Jeesite单点登录集成cas另加自定义登录验证

Jeesite单点登录集成Cas另加自定义登录验证 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台. Cas主要是用来解决多应用之间统一登陆认证,无需用户在同一公司多应用之间重复登陆.例如阿里巴巴中淘宝.天猫,在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. Cas基础 服务端 服务端cas-server-webapp-4.0.0.war,服务器端程序一般不用我们完成,但需要做一点小小的修改,cas的服务

EasyUI-validatebox 自定义validType验证

根据项目要求,对于一些信息的验证也越来越特殊,当你发现EasyUI-validatebox提供的常用的validType验证类型已经满足不了你时,你可以选择自己自定义新的validType来完成信息验证 一:自定义新的validType需要重新$.fn.validatebox.defaults.rules 来实现 $(function () { $.extend($.fn.validatebox.defaults.rules, { phone: { validator: function (va

SpringBoot08 请求方式、参数获取注解、参数验证、前后台属性名不一致问题、自定义参数验证注解、BeanUtils的使用

1 请求方式 在定义一个Rest接口时通常会利用GET.POST.PUT.DELETE来实现数据的增删改查:这几种方式有的需要传递参数,后台开发人员必须对接收到的参数进行参数验证来确保程序的健壮性 1.1 GET 一般用于查询数据,采用明文进行传输,一般用来获取一些无关用户信息的数据 1.2 POST 一般用于插入数据 1.3 PUT 一般用于数据更新 1.4 DELETE 一般用于数据删除 技巧01:一般都是进行逻辑删除(即:仅仅改变记录的状态,而并非真正的删除数据) 2 参数获取注解 2.1

如果自定义模板验证器有同名的输入属性时,各验证器的行为是什么

最近由于工作需要,使用了自定义模板验证器.其中有两个自定义验证器分别定义了一个同名的输入属性,导致两个验证器的验证逻辑出现了问题.经过实验,自己总结问题的原因和同名输入属性的适用规则如下. 1 同名输入属性根据DOM的顺序适用于所有包含该名输入属性的所有验证器. 假设两个自定义验证器custom1和custom2,都包含prop输入属性. <input ngModel text='test' name='age' custom1 [prop]='"abc"' custom2 [p