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.…
mvc 实体类验证的时候 如果有多个验证特性需要在属性上层叠很多个验证特性,显得属性特别臃肿并且也不够直观,极大地影响我使用它的兴趣,所以我想自定义一个验证特性,然后将所有需要验证的情形全部放在一个特性里,看上去更直观一点. [DataContract] public partial class Sys_Menu : BaseModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [DataMember] publi…
原文:MVC验证10-到底用哪种方式实现客户端服务端双重异步验证 本篇将通过一个案例来体验使用MVC的Ajax.BeginForm或jQuery来实现异步提交,并在客户端和服务端双双获得验证.希望能梳理.归纳出一个MVC异步验证的通用解决思路.本篇主要涉及: 1.通过Ajax.BeginForm()方式,返回部分视图显示验证信息.2.通过jQuery+Html.BeginForm()方式,返回部分视图显示验证信息.3.通过jquery,返回json字符串,json字符串中包含部分视图及验证信息.…
原文:MVC验证02-自定义验证规则.邮件验证 本文体验MVC自定义验证特性,来实现对邮件的验证.对于刚写完的自定义验证特性,起初只能支持后端验证.如果要让前端jquery支持,还必须对jquery的验证进行扩展. 本文与"MVC验证01-基础.远程验证"相关,如有需要,请参考. 当我们验证有关Email属性的时候,我们可能这样写: [RegularExpression(@"\w.+\@\w.+")] public string Email { get; set;…
截止目前已经改造了4个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 图像处理类: 1,图片加水印处理( 支持任意位置与九宫格位置 ) 2,图片缩放处理( 等比缩放,不变形裁剪 ) <?php class Image{ //文件路径 protected $path; //是否允许随机文件名称 protected $enableRandName; //文件类型 protected $type; //错误…
截止目前已经改造了5个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 自定义MVC框架之工具类-图像处理类 这个模型类支持以下功能: >连贯操作,js叫链式操作,连贯操作的函数可以打乱顺序,最后一个函数必须是执行语句的那个函数,如select, delete, update, add等 如 $db->table( 'user' )->where( 'id=1' )->select() 等…
分布式ID(CosId)之号段链模式性能(1.2亿/s)解析 上一篇文章<分布式ID生成器(CosId)设计与实现>我们已经简单讨论过CosId的设计与实现全貌. 但是有很多同学有一些疑问:CosId的号段链模式(SegmentChainId)性能有些难以置信(TPS峰值性能1.2亿/s),甚至是不同性能级别号段分发器(RedisIdSegmentDistributor.JdbcIdSegmentDistributor)均能够达到这样的性能级别. 所以本篇文章将深度解析CosId的号段链模式(…
在项目的实际使用中,MVC默认提供的Validation Attribute往往不够用,难以应付现实中复杂多变的验证需求.比如, 在注册用户的过程中,往往需要用户勾选”免责声明”,这个checkbox往往是必填项,但是MVC中并没有提供对于checkbox必选的验证.这篇文章通过解决checkbox必选验证的问题,看看如何在MVC中定义自己的自定义验证属性. 阅读目录: 一. CheckBox必选验证的困局 二. 对于服务端ValidationAttribute的实现分析 三. 自定义Enfor…
提示:保存后才提示错误信息 自定义验证特性,继承ValidationAttribute并实现IClientValidatable 这次重写了基类的IsValid()方法的另外一个重载,因为该重载包含了验证上下文ValidationContext,从中可以获取属性及属性值. using System.ComponentModel.DataAnnotations; using System.Globalization; using System.Web.Mvc; namespace MvcValid…
根据代码分析特性用处 [DisplayName("学员名")] [DataType(DataType.Text)] [StringLength(,ErrorMessage="您输入的名字太长了~~~~")] public string Name { get; set; } ①[DisplayName("学员名")]作用显示属性名,用法是要配合HTML用于显示字符串的标签一起使用的(@Html.LabelFor(s => s.Name)) 效…