3

我是 Yii 框架的新手。我想用ajax检查用户是否存在。

查看文件

<form method="post" action="<?php echo $baseUrl;?>/persons/login" role="form"><br>
    <div style="display: block;margin-left:14%">
        <div>İstifadəçi adı</div>
        <div>
            <input type="text" name="istiad" autocomplete="off" role="textbox" tabindex="1">
        </div>
        <div>Parol</div>
        <div>
            <input type="password" name="parol" autocomplete="off" role="textbox" maxlength="20" tabindex="2"><br>
        </div>
        <?=CHtml::button('daxil ol', ['submit'=>['persons/login', 'i'=>1]]); ?>
    </div>
</form>

编辑

错误必须看起来像这样

我怎样才能做到这一点 ?谢谢!

4

2 回答 2

1

如果您在模型中添加了唯一规则,那么只需执行

在 _form.php 文件中启用 Ajax 验证

  <?php $form=$this->beginWidget('CActiveForm', array(
        'id'=>'person-form',
        'enableAjaxValidation'      => true,
        )
    ));
    ?>

在您的控制器中 actionCreate() 和 actionUpdate() 如果需要 AJAX 验证,请取消注释以下行

 $this->performAjaxValidation($model);
于 2014-09-25T08:03:50.840 回答
1

array('username', 'unique','on'=>'insert', 'message'=>'Username already exists'),在函数的path/to/protected/models/modelname.php 内的模型类中添加以下行public function rules() { }。这里的modelname in 表示你对应的模型文件名。

如果您想在没有页面加载的情况下显示错误文本,请在 _form.php/corresponding 表单页面中启用 ajax 提交,如下所示

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'user-form',
    'enableAjaxValidation'=>true,
)); ?>
于 2014-09-25T13:14:33.737 回答