zoukankan      html  css  js  c++  java
  • MVC验证05-自定义验证规则、验证2个属性值不等

    本文体验2个属性值不等。即当一个属性输入值,另外一个属性输入的值不能和第一个属性值相等。相关文章包括:

    MVC验证01-基础、远程验证  
    MVC验证02-自定义验证规则、邮件验证  
    MVC验证03-自定义验证规则、禁止输入某些值  
    MVC验证04-自定义验证规则、日期范围验证 

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

    这次重写了基类的IsValid()方法的另外一个重载,因为该重载包含了验证上下文ValidationContext,从中可以获取属性及属性值。

    展开

      View model

    [NotEqualTo("UserName", ErrorMessage = "不能与用户名的值相同")]用来比较属性UserName的值。

    展开

      扩展jquery的验证,jQuery.validator.noteaualto.js

    jQuery.validator.addMethod('notEaualTo', function(value, element, param) {
        //意思是表单值为空时也能通过验证
        //但,如果表单有值,就必须满足||后面的条件,否则返回false
        return this.optional(element) || value != $(param).val();
    });
     
    //第一个参数是jquery验证扩展方法名
    //第二个参数与rule.ValidationParameters["other"]中的key对应
    //option是指ModelClientValidationRule对象实例
    jQuery.validator.unobtrusive.adapters.add('notequalto', ['other'], function(options) {
        options.rules['notEqualTo'] = '#' + options.params.other;
        if (options.message) {
            options.messages['notEqualTo'] = options.message;
        }
    });   

      Register.cshtml视图

    展开

    效果:

    不能相同

  • 相关阅读:
    Struts2框架的学习遇到的问题1
    博客开通第100天
    RTK(Real Time Kinematic)实时动态差分定位技术
    HSRP 协议/ VRRP 协议(热备份路由协议)
    PKI 公钥基础设施
    路由器的工作原理
    VLAN基础知识
    Linux系统的 粘滞位、sgid和suid
    Kali Linux三步安装中文输入法(极简)
    ACL 包过滤技术
  • 原文地址:https://www.cnblogs.com/darrenji/p/3580908.html
Copyright © 2011-2022 走看看