yii form 表单提交之前JS在提交按钮的验证方法
很多时候,需要对Yii表单model中的对象设置的rules进行判断,但是有的时候可能需要在提交之前就在客户端进行验证,我这边设置的方法是在提交按钮上设置监听器,如果部分内容为空(比如多选按钮没有选择),那么提示出错信息。主要目的是页面不用提交后刷新,进入controller的对应函数之后再判断出错。显示rules()验证规则函数的错误信息。
这里为了验证是否选择某个单选按钮,对提交的按钮onclick设置监听,具体如下
<Button onclick = "return fun()"/>
自定义fun()函数,需要有return true和false两种情况
<script>
function fun(){
var CheckBox = document.getElementsByName('checkBox[]');//获取所有的checkBox
var count=0;
for(i=0;i < CheckBox.length;i++){
if(CheckBox[i].checked == true){
count++;
}
}
if(count == 0 ){
var errorMeg = document.getElementById('HomeworkTrConfig_flag_em_');
errorMeg.style.display = "";
errorMeg.innerHTML="请至少选择一项";
return false;
}else{
return true;
}
}
</script>补充:Yii表单验证中,提交前验证,不通过不提交
以前记得有这么一个写法,就是当表单中的内容不符合验证规则时,会不允许提交,时间一长忘了怎么写了,手册里面也没写,查了一下资料,做一下笔记 :
$form = $this->beginWidget('CActiveForm',array(
'id' => 'add_host',
'enableAjaxValidation' => false,
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true //在这个位置做验证
),
'focus' => array($model,'ip')
));
?> 相关推荐
WasteLand 2020-10-18
Allinputs 2020-08-30
Ashes 2020-06-14
caiyiii 2020-06-14
kxguan 2020-06-14
daillo 2020-06-14
一粒沙里的世界 2020-06-14
ruxingli 2020-06-14
csssy00 2020-06-14
阿佐 2020-06-14
NameWFY 2020-05-28
NameWFY 2020-05-26
Robin罗兵 2020-05-16
caiyiii 2020-04-29
wmsjlihuan 2020-04-26
cbao 2020-04-26
csssy00 2020-04-19
igogo00 2020-03-09