yii 前端js动态添加验证规则
在使用 activeForm 生成表单及验证时,默认是按照 model 里的 rules 生成js验证,model 验证在加载完页面后生效,不可修改,如果需要扩展、动态验证,需要使用js来配合
直接上Dome吧:
$('#returnmanualform-refundway input[type="radio"]').on('click', function(){
if($(this).is(':checked') && $(this).val()==3){
$('.account-info').removeClass('hidden'); // 添加验证规则
$('#w0').yiiActiveForm('add', {
"id": "returnmanualform-bankname",
"name": "bankName",
"container": ".field-returnmanualform-bankname",
"input": "#returnmanualform-bankname",
"validate": function(attribute, value, messages, deferred, form) {
yii.validation.required(value, messages, { "message": "转账银行不能为空。" });
}
}); $('#w0').yiiActiveForm('add', {
"id": "returnmanualform-bankaccount",
"name": "bankAccount",
"container": ".field-returnmanualform-bankaccount",
"input": "#returnmanualform-bankaccount",
"validate": function(attribute, value, messages, deferred, form) {
yii.validation.required(value, messages, { "message": "转账账号不能为空。" });
}
}); $('#w0').yiiActiveForm('add', {
"id": "returnmanualform-bankusername",
"name": "bankUserName",
"container": ".field-returnmanualform-bankusername",
"input": "#returnmanualform-bankusername",
"validate": function(attribute, value, messages, deferred, form) {
yii.validation.required(value, messages, { "message": "用户名不能为空。" });
}
});
}else{
$('.account-info').addClass('hidden'); // 移除验证规则
$('#w0').yiiActiveForm('remove', "returnmanualform-bankname");
$('#w0').yiiActiveForm('remove', "returnmanualform-bankaccount");
$('#w0').yiiActiveForm('remove', "returnmanualform-bankusername");
}
});
yii 前端js动态添加验证规则的更多相关文章
- [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则
目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...
- js动态添加onload、onresize、onscroll事件(另类方法)
js动态添加onload.onresize.onscroll事件(另类方法) window 的 onload.onresize.onscroll 事件,跟其他的事件不一样,它不能用 attachE ...
- form表单 无法提交js动态添加的表单元素问题。。
第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url ...
- 【原生js】js动态添加dom,如何绑定事件
首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完d ...
- 使用js动态添加组件
在文章开始之前,我想说两点 1 自己初学js,文章的内容在大神看来可能就是不值一提,但是谁都是从hello world来的,望高 手不吝指教# 2 我知道这个标题起的比较蛋疼,大家看图就能说明问题 ...
- 原生JS动态添加和删除类
原生JS动态添加和删除类 由于需要, 给按钮组监听点击事件(要求用事件委托),当有一个按钮被点击时,相应的给该按钮添加一个类(激活类),其他没有点击的按钮就要移出该类 添加和和删除类有三种方法 首先等 ...
- MUI 里js动态添加数字输入框后,增加、减少按钮无效
numbox 的自动初化是在 mui.ready 时完成的mui 页面默认会自动初始化页面中的所有数字输入框,动态构造的 DOM 需要进行手动初始化.比如:您动态创建了一个 ID 为 abc 的数字输 ...
- 原生js动态添加style,添加样式
原生js动态添加style,添加样式 第一种 var style="[assign-url='"+str+"']{display:initial}"; var ...
- Js动态添加复选框Checkbox
Js动态添加复选框Checkbox的实例方法!!! 首先,使用JS动态产生Checkbox可以采用如下类似的语句: var checkBox=document.createElement(" ...
随机推荐
- 点击input 禁止手机自带键盘弹出
<input readonly data-field="date" placeholder="請選擇結束時間" class="start_t ...
- socket阻塞与非阻塞,同步与异步、I/O模型
socket阻塞与非阻塞,同步与异步 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所 ...
- 一图让你看懂CSS盒子模型
- lr11.0负载测试 real-world schedule 与basic schedule的区别是什么
real-world schedule 是真实场景模式 可以通过增加ACTION来增加多个用户 basic schedule 是我们以前用的 经典模式 只能设置一次负载的上升和下降
- mapreduce编程(一)-二次排序
转自:http://blog.csdn.net/heyutao007/article/details/5890103 mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变. 这个 ...
- window.showModalDialog乱码(完美)解决方案
关于jsp弹出jsp页面传参数中文乱码的问题解决: 弹出方式--window.showModalDialog(requestURL,null,strFeatureInfo); 乱码原因:url传递方式 ...
- 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目
1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...
- 第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中
第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详 ...
- SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念: SpringBoot 错误处理 2.具体内容 在之前的程序里面如果一旦出现了错误之后就会出现一堆的大白板,这个白板会 ...
- CentOS 6.9编译安装Erlang
转自http://www.jb51.net/article/59823.htm 这篇文章主要介绍了CentOS 6.5源码安装Erlang教程,本文讲解了源码编译安装的过程和遇到的一些错误处理方法,需 ...