BoyLee 2011-04-15 15:47:40 4728次浏览 11条回复 0 0 0

我现在会下面这2种, 第一,全部交给Yii activeform设置 ajax=>true 然后自动验证 第二,自己写ajax对制定位置进行填充

现在我2个都会,但是我遇到了一个疑虑,如果想用第一种模式,然后我想获得内部验证规则反馈的结果,然后自定义显示地方怎么做呢?其实就是1+2

舰长指教 [attach]89[/attach]

就是想要 activeform自动验证,然后获取验证内容,或者用第二中方法,指定什么触发什么验证,但是想适用 yii的内部rules来做验证条件。。。有点纠结。。。

  • 回复于 2011-04-15 18:09 举报
    <?php 
    $form = $this->beginWidget('CActiveForm', array(
      'id'=>'captcha-form',
      'enableAjaxValidation'=>true,
      'focus'=>array($model,'verifyCode'),
    )); 
    ?>
    <?php 
    echo $form->errorSummary($model); 
    ?>
    <div class="row">
      <?php 
        $this->widget('CCaptcha', array('clickableImage'=>true,'showRefreshButton'=>false));
      ?>
      <?php 
        echo $form->textField($model,'verifyCode'); 
      ?>
      <?php 
      echo $form->error($model,'verifyCode', array(
        'hideErrorMessage'=>true,	//隐藏原错误
        'afterValidateAttribute'=>'js:function(form, attribute, data, hasError) { //属性验证后回调
      if (hasError)
        jQuery("#lee").val(data[attribute.id]);
      else 
        jQuery("#lee").val("");
      }')); 
      ?>
      <?php echo CHtml::textField('lee')?>
    </div>
    <?php 
    $this->endWidget(); 
    ?>
    
  • 回复于 2011-04-15 18:23 举报

    真的是太帅了,谢谢未来。

    补充一下 我这边这样跑起来的 $("#lee").val(data[attribute.inputID]); 这里我写成attribute.id无效。

  • 回复于 2011-04-15 19:52 举报

    不错!!!受用了。。

  • 回复于 2011-04-15 20:31 举报

    舰长今天迟到了。。。。最近好忙哈

  • 回复于 2011-04-15 20:44 举报

    是啊,太忙了啊,不好意思!

  • 回复于 2011-04-15 20:53 举报

    这个是用来做什么的啊,怎么没看明白啊

  • 回复于 2011-04-16 10:31 举报

    第一个框输验证码,第二个是个普通框,然后验证码用内部逻辑ajax判断,然后结果返回那个普通框里。

  • 回复于 2011-04-16 10:43 举报

    这样啊。明白啦,受教啦

  • 回复于 2011-04-16 13:51 举报

    不错,不错,收藏了

  • 回复于 2011-04-16 18:27 举报

    未来可是钻研了很久哈,我之前钻研了几个小时只实现了一小部分,然后未来面试回来就接着努力了哈。

  • 回复于 2011-10-10 16:04 举报

    哦 这样子的好处是?

您需要登录后才可以回复。登录 | 立即注册