// Форма:
<?php $form = ActiveForm::begin([
'id' => 'rew-form',
'layout' => 'horizontal',
'options' => ['class' => 'modal_rewiews_input','enctype' => 'multipart/form-data'],
'fieldConfig' => [
'template' => "{error}\n{input}",
'labelOptions' => ['class' => ''],
],
]) ?>
<?= $form->field($model, 'image')->fileInput(['class' => 'upload modal_rewiews_input','id' =>
'files'])->label(false);?>
<div class="rew_img_input">
</div>
<?= $form->field($model, 'name')->textInput(['placeholder' => 'Имя фамилия'])->label(false) ?>
<?= $form->field($model, 'city')->textInput(['placeholder' => 'Город'])->label(false) ?>
<?= $form->field($model, 'review')->textarea(['rows' => 4, 'id' => 'good_reviews', 'placeholder'
=> 'Хорошие отзывы'])->label(false) ?>
<?= \himiklab\yii2\recaptcha\ReCaptcha::widget(['name' => 'reCaptcha']) ?>
<div class="form-group">
<?= Html::submitButton('Оставить отзыв', ['class' => 'btn btn-primary main_btn form_btn',
'name' => 'button']) ?>
</div>
<?php $form = ActiveForm::end() ?>
//модель: class Reviews extends ActiveRecord
{
public $image;
public $reCaptcha;
// Поведение
public function behaviors()
{
return [
'image' => [
'class' => 'rico\yii2images\behaviors\ImageBehave',
]
];
}
// Имя таблицы
public static function tableName()
{
return 'reviews';
}
// Правила
public function rules()
{
return [
//Обязательные к заполнению
[['review','name','city','reCaptcha'], 'required', 'message' => 'Поле не может быть пустым ↓'],
// Проверяем длину сообщения
[['review'], 'string', 'length' => [100, 400], 'tooLong' => 'Сообщение не должно превышать 400
символов','tooShort' => 'Сообщение должно содержать минимум 100 символов'],
[['name','city'], 'string'],
//Формат изображения
[['image'], 'file', 'extensions' => 'png, jpg'],
[['reCaptcha'], \himiklab\yii2\recaptcha\ReCaptchaValidator::className(), 'secret' => '6LcyeS0UAAAAAG0ugrwlS9p9_-9yO_XXXXXX', 'uncheckedMessage' => 'Please confirm that you are not a bot.']
];
}
}