Ajax 如何使用clientOptions验证CSS

Ajax 如何使用clientOptions验证CSS,ajax,validation,yii,Ajax,Validation,Yii,我想在$form->error()中定义的ajax验证期间显示加载图标。我需要做什么 从文件: [validatingCssClass:string,要分配给当前正在通过AJAX验证其关联输入的容器的CSS类。默认为“validating”。] .验证{ 背景色:#FF02FF; } ..... 您可以使用CSS2执行此操作,设置a,您可能还需要使用来定位此图像。样本: /*我在project/css文件夹中有一个新的styles.css文件*/ .验证{ 背景图像:url(../ima

我想在$form->error()中定义的ajax验证期间显示加载图标。我需要做什么

从文件:

[validatingCssClass:string,要分配给当前正在通过AJAX验证其关联输入的容器的CSS类。默认为“validating”。]


.验证{
背景色:#FF02FF;
}


.....

您可以使用CSS2执行此操作,设置a,您可能还需要使用来定位此图像。样本:

/*我在project/css文件夹中有一个新的styles.css文件*/
.验证{
背景图像:url(../images/loading.gif);/*我的图像位于project/images文件夹中*/
背景位置:右中心;/*必须正确定位*/
背景重复:无重复;
}
确保图像大小正确,或者可以使用CSS3的属性(首先检查浏览器兼容性)


在Yii前端,您不必在表单的
客户端选项中添加任何内容,因为默认的
验证CSSClass
已经是
验证

'clientOptions'=>数组(
“validateOnType”=>true,
“验证CSSClass”=>“验证”
//如果类正在验证,则该类已应用,因此该行是多余的,仅当验证类不同时才使用
),
如果您在localhost上进行测试,显然您不会注意到发生的更改,因为没有网络延迟,但要测试它并正确定位,您需要看到它,因此您可以使用以下方法在验证操作方法中引入一些延迟:


您想在页面上的何处显示此图标?@bool.dev-在该输入字段之后。那么您是否尝试添加一个加载的gif图像作为验证css类的背景图像?是的,我做了类似的操作,但不起作用。唯一的区别是我使用echo CActiveForm::validate(array($model))而不是performAjaxValidation。我认为问题在于客户端,您能否显示整个表单代码?您是否也检查了ajax调用是否正确返回数据?您是否使用Yii::app()->end()跟踪CActiveForm::validate()?基本上,我们现在已经进入调试领域,所以必须找出错误在哪里,我今天晚些时候会回答你。谢谢:)是的,我试过了,但没有发生什么事。这是我的代码(来自fiddler的视图、控制器和json)
<style type="text/css">
.validating {

    background-color: #FF02FF;
}
</style>
   <?php /** @var TbActiveForm $form */
    $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
        'id'=>'prezentacija-form',
        'enableAjaxValidation'=>true,
        'htmlOptions'=>array('class'=>'well'),
            'clientOptions'=>array(
                'validateOnType'=>true,

            ),
    )); ?>

  .....

  <?php echo $form->error($model,'naziv', array('validateOnType'=>true)); ?>
public function actionActionId() {
    $model=new Prezentacija;
    usleep(10000); // for me 10000 microseconds was enough delay
    $this->performAjaxValidation($model);
    // ... rest of your code ...
}