Имеется форма
<?=$form->field($model, '_author')->label('Имя')?>
<?=$form->field($model, '_email')->label('Email')?>
<?=$form->field($model, '_comment')->label('Комментарий')->textArea(['rows' => 3])?>
<div class="form-group">
<div class="col-lg-offset-0 col-lg-1">
<?= Html::submitButton('Update', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end() ?>
И обработчик
public function editComment($id)
{
$comment = Comments::findOne($id);
$comment->author = $this->_author;
$comment->comment = $this->_comment;
$comment->email = $this->_email;
return $comment->save();
}
Правила валидации
public function rules()
{
return [
[['_author', '_comment', '_email'], 'required'],
[['_author', '_comment'], 'string'],
['_email', 'email']
];
}
При обновлении данных с валидированием обновление не происходит. Метод
$model->validate()
возвращает
false
хотя данные валидны. Приходиться использовать
$comment->save(false)
. Никак не могу понять, в чем может быть проблема?