zoukankan      html  css  js  c++  java
  • MVC验证03-自定义验证规则、禁止输入某些值

    本文继续体验自定义验证规则,需求是禁止输入某些值。本文与前2篇相关,请参考:
    MVC验证01-基础、远程验证  
    MVC验证02-自定义验证规则、邮件验证 

      自定义验证特性继承ValidationAttribute,并实现IClientValidatable接口

    展开

      把自定义属性打到View model的属性上

    展开

    [NoInput("demo",ErrorMessage = "不能使用此名称")],即当输入demo的时候就报错。

      扩展jquery的验证方法jQuery.validator.noinput.js并注册

    jquery的验证扩展方法的逻辑基本上与自定义特性IsValid()方法一致。
    自定义特性rule.ValidationParameters["input"]的键input要传递给$.validator.unobtrusive.adapters.addSingleVal()方法。

    展开

      Register.cshtml视图

    展开

    效果:

    禁止输入某个值

      如果需要禁止多个值,需要重写自定义验证特性

    这时候自定义特性的Input属性类型变成了string[],因为要判断多个值。
    但前台rule.ValidationParameters["input"]存储的应该是string类型,所以保存的时候要把Input数组元素join起来。

    展开

      把自定义属性打到View model的属性上,但构造函数是用逗号分隔的字符串

    展开

    [NoInput("demo,jack",ErrorMessage = "不能使用此名称")],当输入demo或者jack的时候都会报错。

      扩展jquery的验证方法jQuery.validator.noinput1.js并注册

    需要把rule.ValidationParameters["input"]存储的值split成数组,在遍历判断。

    展开

      Register.cshmtl要引用jQuery.validator.noinput1.js

    展开

    效果:

    禁止输入某些值

  • 相关阅读:
    五分钟搞懂Vuex
    vue 背景图片 backgroundImage background-image vue的style方式绑定行内样式-background-image的方式等~
    VUE2.0 vue-cli构建项目中使用Less
    ES6如何引入图片
    Vue+Gojs实现流程图demo
    vue自定义指令要点
    vue cli中token验证
    linux服务器上配置多个svn仓库
    vue-cli(vue脚手架)超详细教程
    node学习第一天:nvm使用
  • 原文地址:https://www.cnblogs.com/darrenji/p/3580253.html
Copyright © 2011-2022 走看看