public function validateTown($attribute, $params)
 {
     $count = HDtown::query(['country_id' => $this->country])->count();
     if ($count > 1) {
         if ($this->town == 0) {
             $this->addError($attribute, 'Поле должно быть заполнено обязательно');
         }
     }
 }
JS
);
    $form = ActiveForm::begin(['id' => 'contact-form', 'enableAjaxValidation' => true]);
    ?>

                    <?php 
    echo $model->field($form, 'date');
    ?>
                    <?php 
    echo $model->field($form, 'time');
    ?>
                    <?php 
    echo $model->field($form, 'country')->dropDownList(\yii\helpers\ArrayHelper::map(\app\models\HD::query()->select('id,title')->orderBy(['title' => SORT_ASC])->all(), 'id', 'title'));
    ?>
                    <?php 
    echo $model->field($form, 'town')->dropDownList(\yii\helpers\ArrayHelper::merge([0 => 'Ничего не выбрано'], \yii\helpers\ArrayHelper::map(\app\models\HDtown::query(['country_id' => $model->country])->select('id,title')->orderBy(['title' => SORT_ASC])->all(), 'id', 'title')));
    ?>

                    <div class="form-group">
                        <hr>
                        <?php 
    echo Html::submitButton('Далее', ['class' => 'btn btn-primary', 'name' => 'contact-button', 'style' => 'width:100%', 'id' => 'buttonNext']);
    ?>
                    </div>
                    <?php 
    ActiveForm::end();
    ?>
                </div>
                <!--                /Форма подключения дизайна человека -->

            <?php 
示例#3
0
 /**
  * AJAX
  *
  * REQUEST:
  * - id - int - идентификатор
  *
  * @return array
  */
 public function actionProfile_human_design_ajax()
 {
     $id = self::getParam('id');
     $item = HD::find($id);
     $items = HDtown::query(['country_id' => $id])->select(['id', 'title'])->all();
     return self::jsonSuccess(['item' => ['sub_type' => $item->getField('sub_type')], 'items' => $items]);
 }