0

我有一个单一形式的类(我的意思是表格)的多个参考表格,例如添加更多详细信息。该任务的主要目标是一家公司拥有多个用户。每个用户都有一些访问限制。因此,在添加公司时,我们将添加多个公司用户。公司用户表单具有该访问单选按钮。这里单选按钮验证不起作用。复选框和下拉菜单也有同样的问题。下面给出的示例代码。请帮忙。

访问控制器.php

class AccessController extends Controller
{
  public function actionCreate() {
    $formDetails = Yii::$app->request->post('ClientAllowAccess', []);
    if(!empty($formDetails)){
      foreach ($formDetails as $i => $formDetail) {
          $modelDetail = new ClientAllowAccess(['scenario' => ClientAllowAccess::SCENARIO_BATCH_UPDATE]);
          $modelDetail->setAttributes($formDetail);
          $modelClientAccess[] = $modelDetail;
      }
    } else {
      $modelClientAccess[] = new ClientAllowAccess(['scenario' => ClientAllowAccess::SCENARIO_BATCH_UPDATE]);
    }

    return $this->render('create', [
      'client_allow_access_multiple' => $modelClientAccess
    ]);
}
}

创建.php

....
    <?php foreach($client_allow_access_multiple as $i => $client_allow_acces): ?>
      <?= $form->field($client_allow_access, '[$i]access_type')->radioList([1 => 'Allow access', 2 => 'Can\'t allow access'],[ 'item' => function($index, $label, $name, $checked, $value) {
           $return = '<label class="modal-radio">';
           $return .= '<input type="radio" name="' . $name . '" value="' . $value . '" id="custom_id_value_'.$index.'" >';
           $return .= '<span>  ' . ucwords($label) . '</span>';
           $return .= '</label>';
           return $return;
        }]); ?>
    <?php endforeach; ?>
....

渲染视图

    <div class="form-group field-clientcontactdetails-0-gender has-success">
            <label class="control-label" for="clientcontactdetails-0-gender">Gender</label>
            <select id="clientcontactdetails-0-gender" class="form-control" name="ClientContactDetails[0][gender]">
                <option value="">---</option>
                <option value="1">Male</option>
                <option value="2">Female</option>
                <option value="3">Others</option>
            </select>

 <div class="help-block"></div>
</div>
<div class="form-group field-clientallowaccess-0-access_type required">
            <label class="control-label" for="clientallowaccess-0-access_type">Access Type</label>
            <input type="hidden" name="ClientAllowAccess[0][access_type]" value=""><div id="clientallowaccess-0-access_type"><label><input type="radio" name="ClientAllowAccess[0][access_type]" value="1"> Allow access</label>
                <label><input type="radio" name="ClientAllowAccess[0][access_type]" value="2"> Can't allow access</label></div>
            <div class="help-block"></div>
</div>
4

0 回答 0