博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义Attribute 服务端校验 客户端校验
阅读量:6876 次
发布时间:2019-06-26

本文共 1511 字,大约阅读时间需要 5 分钟。

<!DOCTYPE html>

MVC 自定义Attribute 服务端校验 客户端校验

自定义AOP标签

vs已经完成部分Attributte 如:Required,表示该值为必须的,[EmailAddress]表面该为邮箱地址 在属性上直接上标签即可验证是否满足该属性 若需要自定义标签则可以自定义类继承自ValidationAttribute,重载IsVaild,在里面写入验证语句即可

如:自定义一个IDNumberAttribute,用于验证是否为合法身份证

public class IDNumberAttribute : ValidationAttribute, IClientValidatable{    public override bool IsValid(object value)    {        string idnumber = value.ToString();        if (string.IsNullOrEmpty(idnumber)) return true;//为空表示不验证,直接返回,属性只有加入Required标签才验证是否为空,这里只验证是否满足格式        if (idnumber.Length != 15 || idnumber.Length != 18)//身份证为15或18位        {            return false;        }        if ((char.ToLower(idnumber[idnumber.Length - 1]) == 'x' &&idnumber.Substring(0,idnumber.Length-1).All(s=>char.IsDigit(s)))            ||idnumber.All(s=>char.IsDigit(s)))        {            return true;        }        return false;    }}

PS:这里只是简单的验证格式 至此这里就定义好了,验证:

[IDNumber] public string IDNumber{get;set;}

若需要加入客户端校验 只需实现IClientValidatable接口,

public IEnumerable
GetClientValidationRules(ModelMetadata metadata, ControllerContext context){ return new List
{ new ModelClientValidationRule{ ValidationType = "IDNumber", ErrorMessage = "请输入正确的身份证号" } }};

同时需要确认开启了客户端校验 ,在web.config 的appsetting节点下加入 <add key="ClientValidationEnabled" value="true">

<add key="UnobtrusiveJavaScriptEnabled" value="true">

在网页写入@Html.ValidationSummary()就能客户端校验了

转载于:https://www.cnblogs.com/Jack-Blog/p/4266518.html

你可能感兴趣的文章
Swift 控制流
查看>>
css浮动、BFC、定位问题
查看>>
ThoughtWorks雷达上的新奇变化
查看>>
Kubernetes首爆严重安全漏洞,请升级你的Kubernetes
查看>>
Linux之父为过去的言行道歉,宣布离开社区反思
查看>>
家政APP开发,需要注意什么问题?
查看>>
【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
查看>>
C语言接口与实现实例
查看>>
含有汉字的固定字符由ZHS16GBK数据库导入到AL32UTF8的数据库
查看>>
php-fpm进程数优化
查看>>
iOS中如何对具有复杂依赖的SDK在真机上进行单元测试
查看>>
Mobile Web中URL设计问题
查看>>
core Animation之CAAnimationGroup(动画群组)
查看>>
重构实践:体验interface的威力(一)
查看>>
UILabel混合显示动画效果
查看>>
Java内存泄露
查看>>
窥探Swift编程之强大的Switch
查看>>
R语言学习路线图-转帖
查看>>
【导入导出】sqlldr 导入含有内嵌换行符的数据
查看>>
Linux中常用命令
查看>>