我在模型中使用以下规则:
public function rules() {
return [
[['beurteilung_fachlich', 'beurteilung_persoenlich', 'sonstiges', 'anschreiben'], 'string'],
[['anschreiben'], 'string', 'max' => 255]
];
}
虽然属性beurteilung_persoenlich
没有任何限制,但我会收到表单验证错误:
Beurteilung(fachlich)不得超过255个字符!
这怎么可能? 我错了什么? 除了在模型中还有另一个声明验证规则的地方吗? 数据库的数据类型为TEXT,没有任何边界。
以下是表格代码:
<div class="col-md-6">
<?= $form->field($model, 'beurteilung_fachlich')>widget(\dosamigos\ckeditor\CKEditor::className(), ['preset' => 'full', 'clientOptions' => ['height' => 200]]) ?>
</div>
答案 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/assets
或frontend/web/assets
的内容。