mr.
Yet Another Stats (β)
Карма @ASYOU99 стала 3
Stas
а че карму бота глянуть низя?
Karim
у него нет кармы
mr.
Скромный)
KoJIT
mr.
И тупой)
Anonymous
Ребзя, кто с ларавел и йии2 плотно работает?
Дмитрий
вместе?
Дмитрий
или на чем то одном
Anonymous
вместе
Anonymous
Оператор И же)
Artem
А можно ли использовать pageCache, но исключить фрагменты этой страницы из кеша?
Anonymous
не помню, прочитай гайд
Anonymous
https://yiiframework.com.ua/ru/doc/guide/2/caching-data/
Anonymous
https://yiiframework.com.ua/ru/doc/guide/2/caching-page/
Anonymous
Вы можете использовать вместе кэширование фрагмента, динамическое содержимое и кэширование страницы.
Anonymous
И да, не бойся пробовать)
Anonymous
Ты же не сразу на продакшене код пишешь, надеюсь)
Artem
да я как раз и читал про то что можно вместе использовать, но примера что-то не нашёл(
Anonymous
В чем сложности, 2 + 2 не можешь в уме представить?)
Artem
Ну просто pageCache получается должен так работать, что отдавать уже отрендеренный html код
Dmitriy
Anonymous
Anonymous
Dmitriy
только для спама
John
кто то знает, как создать ссылку "Выйти" в twig шаблоне ?
M
привет. Есть модальное окно, в нем форма ActiveForm с такими параметрами:
'enableAjaxValidation'=>true,
'validateOnChange'=>true,
'enableClientValidation'=>false,
'validationUrl'=>Url::toRoute(['validation']),
'action'=>Url::to(['validation']),
И поле формы
<?= $form->field($model, 'name')->textInput() ?>
это поле required.
Мне нужно сделать ajax-валидацию всех полей формы. А потом при нажатии на "Отправить" перехватить нажатие, отправить ajax-запрос, кое-что выполнить на сервере и на фронтенде вывести alert ("Выполнено")
это реализуемо?
Пока что застрял на ajax-валидации. Запрос должен идти в контроллер, откуда выполняется валидация. Но к контроллеру никто не обращается, где-то ошибка
Valeriu
это реализуемо?
Да
Anonymous
привет. Есть модальное окно, в нем форма ActiveForm с такими параметрами:
'enableAjaxValidation'=>true,
'validateOnChange'=>true,
'enableClientValidation'=>false,
'validationUrl'=>Url::toRoute(['validation']),
'action'=>Url::to(['validation']),
И поле формы
<?= $form->field($model, 'name')->textInput() ?>
это поле required.
Мне нужно сделать ajax-валидацию всех полей формы. А потом при нажатии на "Отправить" перехватить нажатие, отправить ajax-запрос, кое-что выполнить на сервере и на фронтенде вывести alert ("Выполнено")
это реализуемо?
Пока что застрял на ajax-валидации. Запрос должен идти в контроллер, откуда выполняется валидация. Но к контроллеру никто не обращается, где-то ошибка
Возможно, у тебя дебаг панель включена?
Anonymous
Либо там смотри, куда аджакс уходит, либо в хром дебаггере
M
M
в том и проблема, что ajax не отправляется
M
на этом я пока застрял
Anonymous
'validationUrl'=>Url::toRoute(['validation']),
'action'=>Url::to(['validation']),
Потенциальная ошибка, Url::toRoute !== Url::
M
поставил Url::to(), не помогло
Павел
Включи клиентскую валидацию. Зачем отключил ее?
CybernatiC
Yet Another Stats (β)
Нельзя голосовать за бота
Anonymous
Url::to будет учитывать текущий котроллер, т.е. если SIteControlle и Url::to(['index']) то юрл будет до роута /site/index
В то время как Url::toRoute(['index']) будет генерировать юрл до IndexController
Anonymous
Экшн в котроллере Павел имел в виду
M
/index.php?r=bids%2Fplan-operative%2Fvalidation
M
action для формы верный стоит
Павел
Нет имел ввиду поле action формы
Павел
И Аякс запрос не улетает?
Dmitriy
M
да, ajax не уходит
Павел
Ставь брейкпойнт на сабмите смотри
M
в этом вся и загвоздка.
Action и ValidationUrl для ActiveForm-формы стоят
/index.php?r=bids%2Fplan-operative%2Fvalidation
xDebug показывает так
Павел
На сабмите и ченже
M
а ajax должен уходить когда submit нажимаю, или onChange?
Павел
По идее при изменении поля
Anonymous
По поводу отправки аджакса, тебе надо событие перехватить https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js#L83
Павел
Anonymous
M
да, закрыл форму
Anonymous
хм хм, магия, без пол литра не разобраться)
M
просто если я submit-button нажму, то меня перебросит на другую страницу. На ту, которая в action формы прописана. Это вторая проблема, пока до неё не дошел
А это экшен валидации
public function actionValidation() {
$model = new PeriodsForm();
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = 'json'; //TODO
return ActiveForm::validate($model);
}
}
Anonymous
Есть тимвивеор? Быстро гляну.
M
)
Павел
А в консоли хрома тихо?
Anonymous
Павел, ща я гляну)
Павел
Давай код модели формы
Anonymous
И всё расскажу, азазаз)))
Павел
Anonymous
Как погода в Самаре?)
M
в консоли хрома тихо
M
<?php
namespace frontend\modules\bids\forms;
use yii\base\Model;
use Yii;
class PeriodsForm extends Model
{
public $startDate;
public $endDate;
public $name;
public function init()
{
parent::init();
$this->startDate = date('Y-m-d');
}
public function rules()
{
return [
['name', 'required'],
['startDate', 'required'],
['startDate', 'date', 'format' => 'Y-m-d'],
['endDate', 'required'],
['endDate', 'date', 'format' => 'Y-m-d'],
['endDate', 'checkDateGreaterThan'],
];
}
public function checkDateGreaterThan($attribute, $params)
{
if($this->endDate < $this->startDate){
return true;
} else {
$this->addError($attribute, 'Дата окончания не может быть раньше даты начала');
}
}
public function attributeLabels()
{
return [
'startDate' => Yii::t('app', 'Date start'),
'endDate' => Yii::t('app', 'Date final'),
];
}
}
Anonymous
checkDateGreaterThan не нужно
Anonymous
там в date валидаторе можно min задать.
Anonymous
http://www.yiiframework.com/doc-2.0/yii-validators-datevalidator.html#$min-detail
Павел
Не отвлекайтесь от главного
Anonymous
Фи, скучно, банальная очепятка)
Павел
Очень очепятка?
Anonymous
Совсем мелкая