Yet Another Stats (β)
Карма @ASYOU99 стала 3
Stas
а че карму бота глянуть низя?
Karim
у него нет кармы
mr.
Скромный)
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
- скоро научится
Если что, я шутя.
Niko
- скоро научится
уже написал нейронную сеть, чтоб обучила бота?
Dmitriy
только для спама
John
кто то знает, как создать ссылку "Выйти" в twig шаблоне ?
Dmitriy
Можно в ЛС?
ну смотря что за вопросы. можно
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
Либо там смотри, куда аджакс уходит, либо в хром дебаггере
M
в том и проблема, что ajax не отправляется
M
на этом я пока застрял
Anonymous
'validationUrl'=>Url::toRoute(['validation']), 'action'=>Url::to(['validation']), Потенциальная ошибка, Url::toRoute !== Url::
M
поставил Url::to(), не помогло
Павел
Включи клиентскую валидацию. Зачем отключил ее?
Yet Another Stats (β)
Нельзя голосовать за бота
Павел
поставил Url::to(), не помогло
Экшен то прописался в форме, все нормально?
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 формы
Павел
И Аякс запрос не улетает?
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
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
Совсем мелкая