在yii2验证之前执行一些额外自定义验证

第一种

<?php
$js = <<<JS
$("#button").click(function(e){
if(验证规则){
 $("form#{$model->formName()}").submit();
 }else{
 return false;
 }
})
JS;
$this->registerJs($js);

第二种

<?php
/**
* User: yiqing
* Date: 14-9-15
* Time: 下午12:09
*/
 
namespace common\widgets;
 
use yii\web\View ;
use yii\widgets\Block ;
 
class JsBlock extends Block{
 
/**
* @var null
*/
public $key = null;
/**
* @var int
*/
public $pos = View::POS_END ;
/**
* Ends recording a block.
* This method stops output buffering and saves the rendering result as a named block in the view.
*/
public function run()
{
$block = ob_get_clean();
if ($this->renderInPlace) {
throw new \Exception("not implemented yet ! ");
// echo $block;
}
$block = trim($block) ;
/*
$jsBlockPattern = '|^<script[^>]*>(.+?)</script>$|is';
if(preg_match($jsBlockPattern,$block)){
$block = preg_replace ( $jsBlockPattern , '${1}' , $block );
}
*/
$jsBlockPattern = '|^<script[^>]*>(?P<block_content>.+?)</script>$|is';
if(preg_match($jsBlockPattern,$block,$matches)){
$block = $matches['block_content'];
}
 
$this->view->registerJs($block, $this->pos,$this->key) ;
}
}
<?php JsBlock::begin() ?>
<script>
$(function () {
jQuery('form#apitool').on('beforeValidate', function (e) {
if(验证规则){
 //不用执行什么操作,自动会提交
 }else{
 return false;
 }
});
</script>
<?php JsBlock::end() ?>
     (adsbygoogle = window.adsbygoogle || []).push({});  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏强仔仔

【SVN】教你如何替换主干代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

15530
来自专栏前端导学

PHP核心技术与最佳实践 读书笔记 第三章 正则表达式基础与应用

Perl和.NET对正则表达式的支持最为强大,而Javascript对正则表达式的支持则比较“朴素”。

7610
来自专栏冷冷

【重构】Spring Cloud OAuth 无Token调用源码封装

书接上回Spring Security OAuth 微服务内部Token传递的源码解析,本篇主要无token 调用过程中,代码的不断完善及其重构过程。

15210
来自专栏喵了个咪的博客空间

Grpc — 整体性能测试

当然最最最重要的就是性能,在使用RPC的场景下对于多个程序通讯完成业务所消耗的性能是有巨大挑战的,笔者也做了一套完整的性能测试大家可以继续往下看。

58330
来自专栏前端导学

搜索引擎优化 高级编程 PHP版 读书笔记

http://www.cristiandarie.ro/ http://www.seoegghead.com/

9710
来自专栏素质云笔记

深度学习菜鸟的信仰地︱Supervessel超能云服务器、深度学习环境全配置

SuperVessel的云端GPU共享技术为全球首发,**它基于POWER 8处理器和NVIDIA® Tesla® K40 GPU加速器的异构计算系统。**Te...

18920
来自专栏前端导学

anwsion问答系统研究笔记

/app/文件夹下是action 所有action类都继承/system/中的基类AWS_CONTROLLER /models/文件夹下是mode...

7620
来自专栏强仔仔

【Hexo实战】SEO(百度、Google)设置

推广是一个烦人的事情啊喂,特别是对于我们搞技术的来说,可能就不擅长推广,那么怎么才能让别人知道我们呢,我们就要想办法让别人通过搜索就可以搜索到你博客的内容,给我...

29530
来自专栏前端导学

php设计模式读书笔记

重构,简单点说是重命名一个属性或者方法,复杂点说是压缩一个已有的类。改变你的代码使得它符合一个或者更多的设计模式是另外一种重构。

13620
来自专栏魏晓蕾的专栏

Ubuntu及RHEL双Linux操作系统安装教程

本文是在一台PC上安装Ubuntu 8.10和RHEL 5.4。安装顺序是首先安装Ubuntu 8.10然后安装RHEL 5.4,当然这样的安装顺序...

19020

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励