Maaf gan ane mau tanya sedikit,
ane mau buat dependant list,udah jlan dpendantnya(kalau milih A langsung keluar B,C,D)
tapi pas ane mau create,
Please fix the following input errors:
Kabupaten cannot be blank.
Provinsi cannot be blank.
berarti kan pas di create belum nangkep id nya kabupaten dan provinsi ya gan?
penampakan di _form.php
<div class="row">
<?php echo $form->labelEx($model, 'provinsi_id'); ?>
<?php
echo CHtml::dropdownList('wilayah','', Chtml::listData(Provinsi::model()->findAll(), 'id', 'provinsi_name'),
array(
'prompt' => 'Pilih Propinsi', //
'value' => '0',
'ajax' => array(
'type' => 'POST', //request type
'url' => CController::createUrl('kabupaten/filterKab'), // panggi filter kabupaten di controller
'update' => '#kabupaten_id', //selector to update
'data' => array('wilayah' => 'js:this.value'),))); ?>
<?php echo $form->error($model, 'provinsi_id'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model, 'kabupaten_id'); ?>
<?php echo CHtml::dropDownList('kabupaten_id','', array(),array( 'prompt'=>'Pilih provinsi dahulu.','value'=>'0'));?>
<?php echo $form->error($model, 'kabupaten_id'); ?>
</div>
penampakan di controller:
public function actionFilterKab()
{
$data=Kabupaten::model()->findAll('provinsi_id=:parent_id',
array(':parent_id'=>(int) $_POST['wilayah']));
$data=CHtml::listData($data,'id','kabupaten_name');
foreach($data as $value=>$name)
{
echo CHtml::tag('option',array('value'=>$value),CHtml::encode($name),true);
}
}
penampakan di model
public function rules() {
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('username, nama_asli, kabupaten_id, provinsi_id, jenis_user_id', 'required'),
array('kabupaten_id, provinsi_id, jenis_user_id', 'numerical', 'integerOnly' => true),
array('username, password, nama_asli', 'length', 'max' => 45),
array('username', 'unique', 'message' => 'username has been registered'),
array('new_password, confirm_password', 'required', 'on' => 'insert'),
array('current_password, new_password, confirm_password', 'length', 'max' => 32),
array('confirm_password', 'compare', 'compareAttribute' => 'new_password'),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, username, password, nama_asli, kabupaten_id, provinsi_id, jenis_user_id', 'safe', 'on' => 'search'),
);
}
/**
* @return array relational rules.
*/
public function relations() {
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'provinsi'=>array(self::BELONGS_TO,'Provinsi','provinsi_id'),
'kabupaten'=>array(self::BELONGS_TO,'Kabupaten','kabupaten_id'),
'jenisuser'=>array(self::BELONGS_TO,'JenisUser','jenis_user_id')
);
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels() {
return array(
'username' => 'Username',
'password' => 'Password',
'nama_asli' => 'Nama Asli',
'kabupaten_id' => 'Kabupaten',
'provinsi_id' => 'Provinsi',
'jenis_user_id' => 'Jenis User',
);
}
kira-kira ane salah dimana ya?