public function actionValidcode()
{
$code = $_POST['Operator']['code'];
$code1 = Operator::model()->findAll('code=:vcode', array(
':vcode'=>$code,
));
foreach($code1 as $a)
{
echo $code.' sudah terdapat dalam database..!';
}
}
errornya cuma di echo doang…
cara biar errornya kaya ClientValidation gimana 2656
ceritanya adalah, kita merubah opsi success dari ajax request,
yang apabila hasilnya (variable result) ada pesan kesalahan (result != ‘’) maka kita suruh jQuery untuk menambahkan pesan kesalahan pada #error_message, dan juga menambahkan class ‘error’ pada parent-nya yaitu <div class=“row”>. maka dari itu perlu dirubah sedikit, yaitu <div id=“error_message”> perlu dimasukkan ke dalam <div class=“row”>. (pada sccript kamu ada diluar <div class=“row”>).
dengan ditambahkan class error pada <div class="row"> sehingga menjadi <div class="row error">, maka css element di dalam div itu pun berubah menjadi merah (sepertinya default css form yii seperti itu). kalau tidak ya tinggal menambahkan saja di css kamu untuk menangani class error.
secara logic kira-kira begitu. belum saya test, tapi seharusnya bisa. semoga secara prinsip metodenya sudah bisa dimengerti.
Sebaiknya agan pake browser firefox + addon firebug untuk mendebug ajax . Sebenarnya Yii sudah menyediakan ajax validation, jika agan generate crud menggunakan Gii. contohnya seperti ini:
// protected/controllers/BookController.php
class BookController extends Controller
{
...
// Action tambah
public function actionAdminAdd() {
$model=new Book;
// Validasi model ini via ajax
$this->performAjaxValidation($model);
...
}
// Validasi ajax
protected function performAjaxValidation($model) {
if(isset($_POST['ajax']) && $_POST['ajax']==='book-form') {
echo CActiveForm::validate($model);
Yii::app()->end();
}
}
..
}
// protected/views/book/_form.php
// Kemudian di viewnya tinggal agan tambahin setingan ajax validation menjadi true
<?php $form = $this->beginWidget('CActiveForm', array(
'id'=>'user-form',
'enableAjaxValidation'=>true, // Untuk validasi via ajax
'enableClientValidation'=>true, // Validasi via javascript (client validasi)
)); ?>
Jika agan menginginkan custom validasi di model, misalnya pengecekan id silahkan lihat disini
tambahan sedikit… kurang else di bagian ajax success untuk mengantisipasi validasi yang benar oleh user setelah mereka melakukan kesalahan.
perubahannya seperti ini:
'success'=>'function(result){
if (result != '') // validasi tidak terpenuhi
{
jQuery("#error_message").html(result);
jQuery("#error_message").parent().addClass("error");
}
else // validasi terpenuhi maka hilangkan class div html error
{
jQuery("#error_message").html('');
jQuery("#error_message").parent().removeClass("error");
}
}'