架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 14899|回复: 1

[ASP.NET] mvc model自定义特性

[复制链接]
发表于 2018-4-28 11:49:36 | 显示全部楼层 |阅读模式
特性:可自定义特性
  1. public class UserDto
  2.     {

  3.         /// <summary>
  4.         /// 用户名称
  5.         /// </summary>
  6.         [Required]
  7.         [Length(6, 11, ErrorMessage = "用户名称格式不正确")]
  8.         public string username { get; set; }

  9.         /// <summary>
  10.         /// 密码
  11.         /// </summary>
  12.         [Required]
  13.         [Length(6, 12, ErrorMessage = "密码格式不正确")]
  14.         public string pwd { get; set; }

  15.         /// <summary>
  16.         /// 用户手机号
  17.         /// </summary>
  18.         [Mobile]
  19.         public string mobilephone { get; set; }

  20.         /// <summary>
  21.         /// 用户邮箱
  22.         /// </summary>
  23.         [Email]
  24.         public string email { get; set; }

  25.     }
复制代码
Mobile特性:
  1. public class MobileAttribute : BaseValidateAttribute
  2.     {

  3.         public override bool ValidateAction(object value, PropertyInfo property)
  4.         {
  5.             Regex rx = new Regex(@"^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}[        DISCUZ_CODE_1        ]quot;);
  6.             if (rx.IsMatch(value.ToString()))
  7.             {
  8.                 return true;
  9.             }
  10.             if (string.IsNullOrEmpty(this.ErrorMessage))
  11.             {
  12.                 this.ErrorMessage = [        DISCUZ_CODE_1        ]quot;手机格式不正确";
  13.             }
  14.             return false;
  15.         }
  16.     }
复制代码
BaseValidateAttribute基类:
  1. public abstract class BaseValidateAttribute : Attribute
  2.     {
  3.         /// <summary>
  4.         /// 错误提示
  5.         /// </summary>
  6.         public string ErrorMessage { get; set; }


  7.         /// <summary>
  8.         /// 执行验证
  9.         /// </summary>
  10.         /// <param name="value">属性值</param>
  11.         /// <param name="obj">对应的属性对象</param>
  12.         /// <returns></returns>
  13.         public abstract bool ValidateAction(object value, PropertyInfo property);


  14.     }
复制代码









上一篇:无法为具有固定名称“MySql.Data.MySqlClient”的 ADO.NET 提供程...
下一篇:git 撤销commit
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-2-18 17:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表