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视图

    展开

    效果:

    不能相同

  • 相关阅读:
    shell脚本积累
    while,shift,until,case
    条件测试命令,if命令,双圆括号,双中括号
    seq命令,tr命令,sort命令,cut命令
    正则,grep命令详解
    Ansible实现批量管理服务器
    实时同步服务知识梳理
    RHEL7破解密码操作步骤
    运维核心基础知识之——MD5sum校验文件
    Linux运维基础提高之RAID卡和磁盘分区
  • 原文地址:https://www.cnblogs.com/darrenji/p/3580908.html
Copyright © 2011-2022 走看看