属性名称只能包含C:\ xampp \ htdocs \ sample \ vendor \ yiisoft \ yii2 \ helpers \ BaseHtml.php中的单词字符

时间:2015-09-04 08:19:29

标签: php yii2

我从昨天起就遇到了这个错误,我无法找到任何解决方案。错误发生在Technician No属性标签中。我已经将数据库字段更改为' number'但仍然没有效果。我已经在属性标签中将单词No更改为Number,但仍然是相同的错误。我是否需要编写有关此问题的验证异常?有人能帮我吗?提前谢谢。

我有这个模型的代码。

Techinicians.model

public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'technician_no' => 'Technician No',
            'smcode' => 'Code',
            'name' => 'Name',
        ];
    }

和控制器:

public function actionTechnicians()
    {
        $model = new Technicians();
        return $this->render('technicians', [
            'model' => $model,
            ]);
     }

这是视图中的ActiveForm。

<?php $form = ActiveForm::begin([
          'id' => 'new-technician-form',
          'options' => ['class' => 'form-horizontal'],
           ]); ?>
      <?= $form->field($model, 'Technician No')->textInput() ?>
      <?= $form->field($model, 'Code')->textInput() ?>
      <?= $form->field($model, 'Name')->textInput() ?>
<div class="form-group">
      <?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'technicians-button']) ?>
 </div>
<div>
      <?= Html::resetButton('Reset', ['class' => 'btn btn-default']); ?>
 </div>

<?php ActiveForm::end(); ?>

1 个答案:

答案 0 :(得分:4)

您应该只使用属性名称而不是标签:

<?= $form->field($model, 'technician_no')->textInput() ?>
<?= $form->field($model, 'smcode')->textInput() ?>
<?= $form->field($model, 'name')->textInput() ?>