
Yet Another Stats
01.11.2017
12:47:30
Карма @ASYOU99 стала 3

Stas
01.11.2017
12:47:49
а че карму бота глянуть низя?

Karim
01.11.2017
12:48:20
у него нет кармы

M
01.11.2017
12:52:55
Скромный)

Google

Vladimir
01.11.2017
12:57:02

M
01.11.2017
13:03:16
И тупой)

?
01.11.2017
13:30:57
Ребзя, кто с ларавел и йии2 плотно работает?

Дмитрий
01.11.2017
13:33:15
вместе?
или на чем то одном

?
01.11.2017
13:33:40
вместе
Оператор И же)

Artem
01.11.2017
13:34:41
А можно ли использовать pageCache, но исключить фрагменты этой страницы из кеша?

?
01.11.2017
13:35:56
не помню, прочитай гайд
https://yiiframework.com.ua/ru/doc/guide/2/caching-data/
https://yiiframework.com.ua/ru/doc/guide/2/caching-page/
Вы можете использовать вместе кэширование фрагмента, динамическое содержимое и кэширование страницы.
И да, не бойся пробовать)

Google

?
01.11.2017
13:38:30
Ты же не сразу на продакшене код пишешь, надеюсь)

Artem
01.11.2017
13:41:48
да я как раз и читал про то что можно вместе использовать, но примера что-то не нашёл(

?
01.11.2017
13:42:51
В чем сложности, 2 + 2 не можешь в уме представить?)

Artem
01.11.2017
13:44:31
Ну просто pageCache получается должен так работать, что отдавать уже отрендеренный html код

Dmitriy
01.11.2017
13:44:31

?
01.11.2017
13:45:19

Maxim
01.11.2017
13:47:00

Dmitriy
01.11.2017
13:47:28
только для спама

Sergey
01.11.2017
13:47:32
кто то знает, как создать ссылку "Выйти" в twig шаблоне ?

Dmitriy
01.11.2017
13:47:43

Maksat
01.11.2017
14:00:58
привет. Есть модальное окно, в нем форма 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
01.11.2017
14:02:15
это реализуемо?
Да

?
01.11.2017
14:02:21
привет. Есть модальное окно, в нем форма 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-валидации. Запрос должен идти в контроллер, откуда выполняется валидация. Но к контроллеру никто не обращается, где-то ошибка
Возможно, у тебя дебаг панель включена?
Либо там смотри, куда аджакс уходит, либо в хром дебаггере

Maksat
01.11.2017
14:02:48
в том и проблема, что ajax не отправляется
на этом я пока застрял

Google

?
01.11.2017
14:03:15
'validationUrl'=>Url::toRoute(['validation']),
'action'=>Url::to(['validation']),
Потенциальная ошибка, Url::toRoute !== Url::

Maksat
01.11.2017
14:04:17
поставил Url::to(), не помогло

Павел
01.11.2017
14:04:34
Включи клиентскую валидацию. Зачем отключил ее?

Fayozjon [CybernatiC]
01.11.2017
14:04:47

Yet Another Stats
01.11.2017
14:04:50
Нельзя голосовать за бота

Павел
01.11.2017
14:04:58

?
01.11.2017
14:05:00
Url::to будет учитывать текущий котроллер, т.е. если SIteControlle и Url::to(['index']) то юрл будет до роута /site/index
В то время как Url::toRoute(['index']) будет генерировать юрл до IndexController
Экшн в котроллере Павел имел в виду

Maksat
01.11.2017
14:05:37
/index.php?r=bids%2Fplan-operative%2Fvalidation
action для формы верный стоит

Павел
01.11.2017
14:05:54
Нет имел ввиду поле action формы
И Аякс запрос не улетает?

Dmitriy
01.11.2017
14:06:32

Maksat
01.11.2017
14:06:34
да, ajax не уходит

Павел
01.11.2017
14:07:26
Ставь брейкпойнт на сабмите смотри

Maksat
01.11.2017
14:07:29
в этом вся и загвоздка.
Action и ValidationUrl для ActiveForm-формы стоят
/index.php?r=bids%2Fplan-operative%2Fvalidation
xDebug показывает так

Павел
01.11.2017
14:08:11
На сабмите и ченже

Maksat
01.11.2017
14:08:19
а ajax должен уходить когда submit нажимаю, или onChange?

Павел
01.11.2017
14:08:38
По идее при изменении поля

?
01.11.2017
14:08:40
По поводу отправки аджакса, тебе надо событие перехватить https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js#L83

Google

Павел
01.11.2017
14:09:19

?
01.11.2017
14:09:25

Maksat
01.11.2017
14:09:31
да, закрыл форму

?
01.11.2017
14:10:00
хм хм, магия, без пол литра не разобраться)

Maksat
01.11.2017
14:10:20
просто если я 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);
}
}

?
01.11.2017
14:11:24
Есть тимвивеор? Быстро гляну.

Maksat
01.11.2017
14:11:30
)

Павел
01.11.2017
14:11:58
А в консоли хрома тихо?

?
01.11.2017
14:12:26
Павел, ща я гляну)

Павел
01.11.2017
14:12:27
Давай код модели формы

?
01.11.2017
14:12:32
И всё расскажу, азазаз)))

Павел
01.11.2017
14:12:36

?
01.11.2017
14:12:49
Как погода в Самаре?)

Maksat
01.11.2017
14:13:05
в консоли хрома тихо
<?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'),
];
}
}


?
01.11.2017
14:13:36
checkDateGreaterThan не нужно
там в date валидаторе можно min задать.
http://www.yiiframework.com/doc-2.0/yii-validators-datevalidator.html#$min-detail

Павел
01.11.2017
14:15:55
Не отвлекайтесь от главного

?
01.11.2017
14:20:04
Фи, скучно, банальная очепятка)

Google

Павел
01.11.2017
14:20:23
Очень очепятка?

?
01.11.2017
14:20:42
Совсем мелкая

Павел
01.11.2017
14:20:55
Всем щастя!

?
01.11.2017
14:21:08
$formYoba <- экземпляр эктив форм, а филды от $form создаются

Matviy
01.11.2017
14:21:45

Павел
01.11.2017
14:22:58
Прокинуть в класс вида и прямо из контроллера фигануть
Я бы твиг прикрутил

Matviy
01.11.2017
14:23:31
по правильному прокинув через контроллер, чуть криво в самом контроллере - между этими какая разница?

?
01.11.2017
14:23:46

Павел
01.11.2017
14:23:50
Хотя если подразумевается что возможно отключать блоки программно...

?
01.11.2017
14:23:53
У тебя вью может быть несколько
Первый варик я предлагал во второй параметр метода render засунуть
Второй это через $this->view->isEnbledSomeBlock
В контроллере

Matviy
01.11.2017
14:24:43
Ага, понял

?
01.11.2017
14:24:48
Второй криво, по тому что вью могут быть разные
Но я видел и не такие ужосы

Павел
01.11.2017
14:25:57
Ты ещё молодой

?
01.11.2017
14:26:33
Я это @k1sliy
Я видел ужосы