• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

            Yii supports AJAX form validation, which essentially posts the form values to the server, validates them, and sends back the validation errors, all without leaving the page. It does this every time you tab out of a (changed) field.

            As of 1.1.7, Yii supports regular Javascript validation in addition to AJAX validation, but I'll talk about that in another post.

            Here's how Yii's AJAX validation works:

            1. in your yii form declaration, put:
              <php $form = $this->beginWidget('CActiveForm', array(
              'id'=>'lowercasemodelname-form', //not technically required but works w gii generated controllers
              'enableAjaxValidation'=>true //turn on ajax validation on the client side )); 
              And have at least one form element with a matching error function:
              <?php echo $form->textField($model, 'my_attribute'); ?>
              <?php echo $form->error($model, 'my_attribute'); ?> 
              This makes Yii include the JQuery javascript library, as well as a Yii javascript file called jquery.yiiactiveform.js
            2. In your controller, in create or update, after you load the model, but before you load it from POST, call this
              if(Yii::app()->getRequest()->getIsAjaxRequest()) {
              echo CActiveForm::validate( array( $model)); 
              Yii::app()->end(); 
              } 
              Which is sligtly different than how Gii generates it, but no big diff. CActiveForm::validate() can take an array of models, which is not clear the way Gii does it.
            3. Also make sure that your model has at lease one validation rule for the insert or update scenario. After you tab out of a changed field, Yii sends a standard AJAX POST to the server, and gets back a JSON response like this:
              {"Field_id":["Validation error a"],"Another_field_id":["Validation error B"]} 
              which yii then plugs into the error field below your field.
            4. When you use the $form->error() function, Yii adds a hidden div after your form element:
              <div id="Model_attributename_em_" class="errorMessage" style="display:none"></div>
              If that field has a validation error, then Yii sets the display to block, writes the validation error message to its innerHtml, and then you see the error. If it later validates, yii hides it again.
            5. Yii will also add class names to the parent container of the field that it's validating. In most cases, this is a <div class="row">. When a form field is valid, it adds "success" class to the div - which makes it green. When it's invalid, it adds "error" class, which makes it red. It also quickly adds a "validating" class, which does nothing, but you can supply it yourself and change the look of a field while it's validating.
            轉自:http://learnyii.blogspot.tw/2010/12/yii.html
            posted on 2012-12-26 12:45 小果子 閱讀(544) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記 、框架
            久久免费大片| 久久久久这里只有精品| 亚洲国产综合久久天堂| 欧美性大战久久久久久| 久久国语露脸国产精品电影 | 久久精品亚洲一区二区三区浴池 | 国产精品九九久久免费视频 | 亚洲国产成人久久综合一| 99久久精品国产一区二区| 日韩电影久久久被窝网| 亚洲乱码中文字幕久久孕妇黑人| 亚洲精品乱码久久久久66| 久久99国产精品久久| 青青久久精品国产免费看| 国产精品九九九久久九九| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 99蜜桃臀久久久欧美精品网站 | 久久性精品| 91精品国产91久久久久福利| 日韩精品无码久久一区二区三| 精品无码久久久久国产| 狠狠色婷婷久久综合频道日韩 | 欧美午夜精品久久久久久浪潮| 久久综合精品国产二区无码| 久久久久亚洲国产| 久久久久久亚洲精品无码| 久久精品9988| 狠狠色丁香婷婷综合久久来| 久久久久久精品免费看SSS| 久久婷婷五月综合成人D啪| 精品久久久久久亚洲| 2021久久国自产拍精品| 久久夜色精品国产欧美乱| 久久精品一区二区三区AV| 久久91精品国产91| 热综合一本伊人久久精品| 伊人久久大香线蕉综合热线| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 伊人久久久AV老熟妇色| 久久精品一本到99热免费| 久久久久亚洲AV无码专区体验|