jQuery Validation Engine验证控件调用外部函数验证的

作者:编程技术

yii2模型的印证法规,简单的采取本身就不详细说了,想看的可以去看
官方网址教程

社区网络朋友教程

此地笔者想说一下,rules法规里面,加度量规范的景观
举个例证,比方自个儿想达成三个字段至稀少三个是必填的尺度,当时就须求在required里面加判定规范了,
早前查资料国内文书档案都还未有写什么做,laravel框架有required_without来判断
后来在stackoverflow上找到了能够加when和whenclient条件,上边网络朋友教程也波及了,那是自个儿在Google上找到相关音信后,
又来百度查,只找到那风度翩翩篇,不过相关内容写的不详细。
when 代表劳务器端的衡量准则,生效条件。
whenclient 代表是客商端的剖断标准,js生效条件。
以下是自家的代码,仅供参照他事他说加以考查

//这个在jquery.validationEngine-zh_CN.js中写

            [
                'executor_id',
                'required',
                'when' => function ($model) {
                    return empty($model->doctor_id);
                },
                'whenClient' => "function (attribute, value) {
                    return $('#doctor_id').value == '';
                }",
                 'on' => 'assgin',
            ],
            [
                'doctor_id',
                'required',
                'when' => function ($model) {
                    return empty($model->executor_id);
                },
                'whenClient' => "function (attribute, value) {
                    return $('#executor_id').value == '';
                }",
                'on' => 'assgin',
            ]        

自定义函数必得带rules.push;同有的时候候return options.allrules.required.alertText;这么些自定义函数写在温馨的js文件里就能够

小结:通晓高超了研究技巧对于查找所需知识是十三分关键的啊

接下去要安装自定义提示新闻了,找到jquery.validationEngine-zh_CN.js文件,然后在最下边自身跟随三个对象,函数名在前方,前边alertText后跟你要唤醒的新闻。这样就OK了。

 

 保存

那便是说就须求接收以下二种方法综合推行,网络老外的消灭办法正是在函数中push一个required,能够让其健康执行。

因为自身是用的angular,所以给保存多个平地风波,在点击保存的时候接触事件,然后剖断五个radio哪个被checked,别的之处说过。接着触发验证步向自定义函数中。、、

先是本身讲一下本身要贯彻的效劳,笔者的需要是在点击不经过且备注为空的时候接触验证,提示“必得填写内容”。那么在经过备考为空,通过备考不为空,不通过备考不为空的情状下都无法接触验证提醒消息。而只要validate[required]那样的话,只要不填写备注消息都会触发提醒新闻。所以作者的思绪是,当点击保存按键的时等候法庭判果断,点击的是哪些radio,点击不经过的时候给不通过的radio加多七个自定义属性,相同的时候赋值。而当点击通过radio的时候删除那几个自定义属性。然后任何时候步向验证,也正是步入自定义函数,获取到不经过radio的自定义属性值,获取到备注的value,然后剖断那五个标准化是或不是还要创建,尽管基准建构,则首先rules.push;因为大家日前说了生机勃勃旦想要完成自定义函数验证一定要有required,然后紧接着return options.allrules.required.alertText; 那句话是何等看头呢?正是重临您要唤醒的音讯。而以此提醒音讯则另有地点开展设置。

html文件,validate[funcCall[yorn]]安装自定义函数validate[funcCall[自定义函数名]]

//自己js文件中写//保存 $scope.saveAudit = function.attr{ $.attr; }else{ $.removeAttr; } if.validationEngine{//验证通过的话之后要执行的内容}}

前边作者在这里个文件的上边依据api自定义了三个函数,然则发掘根本不可能施行,因为当步向验证的时候,首先判别validate[required,funcCall[yorn]]的自定义函数中是或不是存在required,要是空头支票就不恐怕进去到jquery.validationEngine-zh_CN.js那个文件中执行大家在那之中定义的函数。可是假使把自定义函数放在我们友好的js中,就能先进行大家和好js文件中的函数,最终才看清是或不是存在required,而这时大家曾经push进去了,所以就不会报错说找不到你自定义函数名了。

自个儿定义了二个yorn的函数,而基本格式正是function yorn(田野, rules, i, options卡塔尔{},个中田野(field卡塔尔(英语:State of Qatar)代表的是你验证的百般成分,作者那边表达的是textarea,那么田野先生就表示的是textarea。

jQuery Validation Engine验证控件调用外部函数验证的方法_jquery_脚本之家美高梅4858官方网站。也正是在大家供给张开认证的地点加上funcCall[自定义函数名],可是大家会意识总会报错,说找不到你这一个函数名。其实它的渴求是要增加required实行综合验证,也等于validate[required,funcCall[yorn]],那样它才识别大家的自定义函数。可是大家正是不想要required那么些吧?只怕说大家在适合某种条件下才想让required那一个非空验证效率生效呢?

在采取jQuery Validation Engine的时候,我们除了利用自带的API之外,仍为能够和煦自定义正则验证。自定义正则验证上生龙活虎篇已经讲过了,假若想行使自定义函数实行认证如何是好?其实那一个控件有个bug,在api中说

其黄金年代申明控件其实挺不错的,只是这几个bug给搞了半天,辛亏英特网有消除办法,可是日常未有二个像小编说的这么精通的,都以点惠氏下罢了。希望能够协助到大家,同时自身存在未来用。

//自己的js文件中写function yorn(field, rules, i, options){ var trialAttr = field.attr ; var textareaval = field.val(); if(trialAttr == "N" && textareaval==''){ rules.push; return options.allrules.required.alertText; }}

本文由分分快三计划发布,转载请注明来源

关键词: 控件 函数 脚本 之家