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

    展开

    效果:

    不能相同

  • 相关阅读:
    让GoogleCode的SVN下的HTML文件在FireFox下正常显示
    添加验证控件出错
    【转载】SQLServer中char、varchar、nchar、nvarchar的区别:
    人生第一篇博客
    二叉排序树
    最小编辑距离
    面试题集锦_4
    面试题集锦_3
    键树
    B树
  • 原文地址:https://www.cnblogs.com/darrenji/p/3580908.html
Copyright © 2011-2022 走看看