微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii.如何在表单提交时添加css“error”类输入?

我有Yii形式.某些字段是必需的.提交表单时,我需要将CSS类“错误添加到文本输入中.我的代码

          <?PHP $form=$this->beginWidget('CActiveForm', array(
                    'id'=>'contact-form',
                    'enableClientValidation'=>true,
                    'clientOptions'=>array(
                            'validateOnSubmit'=>true,
                    ),
            )); ?>
           <ul class="contact_form">
               <li class="row">
                   <?PHP echo $form->labelEx($model,'name'); ?>
                   <?PHP echo $form->textField($model,'name', array('class'=>'input')); ?>
                   <?PHP echo $form->error($model,'name'); ?>
               </li>
...

现在我只是得到错误消息div:

<div class="errorMessage" id="ContactForm_name_em_" style="">Laukelis „Vardas, pavardė“ negali būti tuščias.</div>

如何在输入字段中添加错误”类?

解决方法:

要进行AJAX验证,你应该添加或多或少的东西:

<?PHP $form=$this->beginWidget('CActiveForm', array(
          'id'=>'contact-form',
          'enableClientValidation'=>true,
          'clientOptions'=>array(
              'validateOnSubmit'=>true,
              'afterValidate' => 'js:function(form, data, hasError) { 
                  if(hasError) {
                      for(var i in data) $("#"+i).addClass("error_input");
                      return false;
                  }
                  else {
                      form.children().removeClass("error_input");
                      return true;
                  }
              }',
              'afterValidateAttribute' => 'js:function(form, attribute, data, hasError) {
                  if(hasError) $("#"+attribute.id).addClass("error_input");
                      else $("#"+attribute.id).removeClass("error_input"); 
              }'
          ),
        )); ?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐