• <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 小果子 閱讀(545) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記框架
            国产精品久久久久久搜索| 亚洲另类欧美综合久久图片区| 亚洲成色WWW久久网站| 久久国产精品成人影院| 国产精品免费久久久久电影网| 免费一级欧美大片久久网| 久久影院综合精品| 免费一级欧美大片久久网| 97久久精品午夜一区二区| 亚洲成av人片不卡无码久久| 俺来也俺去啦久久综合网| 国产精品美女久久福利网站| 91精品国产高清久久久久久91| 亚洲午夜久久久久久久久久| 99久久精品免费国产大片| jizzjizz国产精品久久| 伊人久久大香线蕉av不卡| 亚洲国产高清精品线久久| 嫩草影院久久99| 久久精品国产亚洲AV高清热| 狠狠色丁香婷婷久久综合| 久久久99精品一区二区| 国产69精品久久久久9999| 国内精品久久久人妻中文字幕 | 久久久久久国产精品免费无码 | 久久精品亚洲乱码伦伦中文| 99久久精品毛片免费播放| A级毛片无码久久精品免费| 中文字幕精品久久久久人妻| 久久综合九色欧美综合狠狠| 久久久久久av无码免费看大片| 国产女人aaa级久久久级| 国内精品伊人久久久久av一坑| 久久久久成人精品无码中文字幕| 亚洲色大成网站WWW久久九九| 久久人人爽人人爽人人av东京热| 中文精品99久久国产| 国产aⅴ激情无码久久| 亚洲αv久久久噜噜噜噜噜| 久久男人Av资源网站无码软件| 国产午夜久久影院|