如果自定义模板验证器有同名的输入属性时,各验证器的行为是什么

最近由于工作需要,使用了自定义模板验证器。其中有两个自定义验证器分别定义了一个同名的输入属性,导致两个验证器的验证逻辑出现了问题。经过实验,自己总结问题的原因和同名输入属性的适用规则如下。

1 同名输入属性根据DOM的顺序适用于所有包含该名输入属性的所有验证器。

假设两个自定义验证器custom1和custom2,都包含prop输入属性。

<input ngModel text=‘test‘ name=‘age‘ custom1 [prop]=‘"abc"‘ custom2 [prop]=‘"def"‘>

对于上面的这个输入框,验证器custom1和custom2的输入属性prop的值都将是"abc"。

2 输入属性出现的位置可以在被验证元素内的任何位置,不一定非要紧跟验证器名。

<input ngModel text=‘test‘ name=‘age‘ custom1 [prop]=‘"abc"‘ custom2 [prop]=‘"def"‘>和

<input ngModel text=‘test‘ name=‘age‘ [prop]=‘"abc"‘ custom1 custom2 [prop]=‘"def"‘>效果相同。

原文地址:https://www.cnblogs.com/sagaminosakura/p/9873139.html

时间: 2025-01-01 05:28:32

如果自定义模板验证器有同名的输入属性时,各验证器的行为是什么的相关文章

jsp页面输入手机号时进行验证

通常注册页面都是有输入手机号进行注册 ,那么在jsp页面就进行验证的方法如下, 1 <input type="text" class="input" name="bankPhone" id="bankPhone" onkeyup="value=value.replace(/[^0-9]/g,'')" /> 2 3 function checkTel(){ 4 var pattern = /(^(

jquery validate.js表单验证的基本用法入门--不用写繁琐的验证代码了...

jquery.validate.js是jquery下的一个验证插件,功能比较强大,早就有所耳闻但是一只没有动手用过,现在在于能够研究一下了. 这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 1 <script type="text/javascript"> 2 function lang(key) { 3 mylang = { 4 'ls_input_myb': '请输入您的账户', 5 'ls_myb_email': '漫游

django “如何”系列4:如何编写自定义模板标签和过滤器

django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码布局 自定义标签和过滤器必须依赖于一个django app,也就是说,自定义标签和过滤器是绑定app的.该app应该包含一个templatetags目录,这个目录一个和model.py,views.py在同一个层级,记得在该目录下建立一个__init__.py文件一遍django知道这是一个pyth

Django 自定义模板标签和过滤器

1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次.例如: books/     __init__.py     models.py     templatetags/     views.py 在 templatetags 中创建两个空文件:一个 __init__.py (告诉Python这是一个包含了Python代码的包)和一个用来存放你自定义的

FileUpload上传组件自定义模板(FineUploaderBasic)的使用

FileUpload FineUploaderBasic(自定义模板)配置 FileUpload 是国外一个纯javascript 写的大文件上传组件,该组件支持分片上传,断点续传,多文件,跨域等功能. 以下是配置代码: 前端配置: <!--定义按钮--> <div id="basic_uploader_fine"><i class="icon-upload icon-white"></i>选择文件</div&g

自定义模板语言整合

这篇文章主要对比一下两大框架Tornado和Django自定义模块语言,以及对Tornado的自定义模块语言进行一个分离整合 首先我们先看一下在Tornado里,我怎么实现的自定义模板语言 第一步,创建UIMethods.py文件,写入自定义方法(第一参数一定为self),创建UIModules.py文件,定义类(必须继承Tornado一个导入类UIModule,通过重写render方法实现) 第二步,注册到settings里 第三步,在模板语言里调用  {{ 函数方法 }}  {% modul

Django之博客系统:自定义模板标签

Django提供了很多内置的模板标签比如{% if %}或者{% block %}Django也允许你创建自己的模板标签(template tags)来执行自定义的动作.当你需要在你的模板中添加功能而Django模板标签(template tags)的核心设置无法提供此功能的时候,自定义模板标签会非常方便 Django提供了以下帮助函数(functions)来允许你以一种简单的方式创建自己的模板标签(template tags): simple_tag:处理数据并返回一个字符串(string)

zabbix 2.4自定义模板添加华为交换机监控

一.查看要检测交换机的OID 查看交换机的型号,在官网搜索到相应的MIB信息,如s5700显示温度的OID为:1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.603979777 可以通过snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.4.1.2011.5.25.31.1.1.1.1这样的MIB父目录查看具体的MIB信息 其中有一行显示结果为:SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.

django 第五课自定义模板过滤器与标签

代码布局:(自定义的代码放在哪里) 某个app特有的 app目录下,templatetags文件夹需要放 __init__.py 在到templetags文件夹下创建python模块(py文件) 定义复用 创建要给新的app,将他们定义在新的app中,在INSTALL_APPS 注册,然后可以应用 自定义模板过滤器 模板过滤器是什么? 函数,一个或两个参数 第一个参数是传递进来的模板变量 第二个参数,普通的参数,也可以是默认也可以不要其实就是个函数,没有什么不同在app目录teacher下创建t