为什么模型的公共功能规则不能正确地完成其工作?

时间:2018-05-12 20:20:29

标签: yii2

我在模型中使用以下规则:

public function rules() {  
    return [
        [['beurteilung_fachlich', 'beurteilung_persoenlich', 'sonstiges', 'anschreiben'], 'string'],
        [['anschreiben'], 'string', 'max' => 255]
    ];
}

虽然属性beurteilung_persoenlich没有任何限制,但我会收到表单验证错误:

  

Beurteilung(fachlich)不得超过255个字符!

enter image description here

这怎么可能? 我错了什么? 除了在模型中还有另一个声明验证规则的地方吗? 数据库的数据类型为TEXT,没有任何边界。

以下是表格代码:

<div class="col-md-6">
    <?= $form->field($model, 'beurteilung_fachlich')>widget(\dosamigos\ckeditor\CKEditor::className(), ['preset' => 'full', 'clientOptions' => ['height' => 200]]) ?>
</div>

2 个答案:

答案 0 :(得分:0)

我注意到,以下规则也将影响所有其他字符串属性

$form->field($model, 'anschreiben', ['addon' => ['prepend' => ['content' => 'Anschreiben']]])->widget(TwbsMaxlength::className())->textInput(['maxlength' => 255])->label(false);

我不知道,为什么,但在删除此规则后,一切都很顺利。 为了有效形式客户端,我编码如下(在表单中):

MAX()

答案 1 :(得分:0)

在我的大多数情况下,由于缓存,javascript /客户端验证仍然有效。即使在模型被修改之后。尝试使用Cmd / Ctrl + Shift + R(绕过缓存),或删除backend/web/assetsfrontend/web/assets的内容。