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

    展开

    效果:

    不能相同

  • 相关阅读:
    C# winfrom容器布局与工具栏&&右键菜单栏&&隐藏显示小图标的的简单事件
    C# Winform ListView控件
    MongoDB3.6.3 windows安装配置、启动
    史蒂夫•乔布斯在斯坦福大学的演讲
    SpringBoot配置文件 application.properties详解
    Elasticsearch分布式安装启动失败
    Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
    CentOS 7 安装jdk9
    生成唯一的随机数(时间+随机数)
    idea 设置背景图片
  • 原文地址:https://www.cnblogs.com/darrenji/p/3580908.html
Copyright © 2011-2022 走看看