@yii2ru

Страница 343 из 1721
Konstantin
07.07.2017
09:15:47
оно может и к лучшему - тебе ж не по всем полям искать, а только по некоторым

плюс может еще поиск по всяким связанным полям

свои шаблоны для gii - это хорошо

я себе запилил crud без view

Google
Konstantin
07.07.2017
09:16:33
(с совмещенным view/update)

M
07.07.2017
09:17:17
плюс может еще поиск по всяким связанным полям
Вот-вот, я о том же, что часто на сложной форме все эти дефолтные тупо не нужны, ну а если форма поиска не сложная, то вообще генерить Search смысла мало имеет.

я себе запилил crud без view
тоже мало понимаю зачем view в CRUD для админки, куда полезнее сделать frontendUrlManager и давать ссылку сразу на материал... А как ты view/update совместил, скинь плиз скрины в лс)

Konstantin
07.07.2017
09:20:08
та какие скрины

просто форма на обновление используется в качестве view

надо отредактировать - поправил поля и сохранил

не надо - почитал поля

M
07.07.2017
09:21:17
Т.е. это дефолтный апдейт?

Konstantin
07.07.2017
09:23:13
это непозволительное вольнодумство

Konstantin
07.07.2017
09:23:15
от рук отбился

ой

не туда написал :)

Google
Konstantin
07.07.2017
09:23:34
да, дефолтный апдейт

Vladislav
07.07.2017
09:25:57
M
07.07.2017
09:27:26
для каждой связки AR, Form, Search свой ValidationTrait
Ну так rules для AR, Search и Form отличаются, что ты там в валидаторе пишешь?

Vladislav
07.07.2017
09:27:54
вопрос был в том, что правила валидации будут дублироваться

общий трейт позволит убрать дублирование

если нужны дополнительные кастомные правила для компонента, то можно переопределить трейтовское

M
07.07.2017
09:28:50
Типа в трейте совсем уж базовые правила будут?

А в модели которая заюзала, будет мердж с кастомными?

Ну тогда это не далеко от copyPaste ушло.

Vladislav
07.07.2017
09:32:00
вопрос был в дублировании правил

трейты их решают

M
07.07.2017
09:32:26
вопрос был в дублировании правил
Не вижу решения, покажи пример.

Vladislav
07.07.2017
09:32:36
если у тебя валидация в AR, в форме и в поиске кардинально отличется, то не используй даный подхэод

но чаще там одно и то же

class Foo { use FooTrait; function rules() { return array_merge( ['my custom rules'], $this->commonRules() ); } } trait FooTrait { function commonRules() { return ['common rules']; } } $foo = new Foo(); var_dump($foo->rules());

array(2) { [0]=> string(15) "my custom rules" [1]=> string(12) "common rules" }

если отдельныхз правил нет, то function rules() { return $this->commonRules(); }

Vladislav
07.07.2017
09:36:07
ну тогда не используй

кто заставляет то?

Google
Vladislav
07.07.2017
09:36:16
но тред начался с коммента

Стопэ, вопрос был не зачем, а почему так. На обеде подумал, и понял, что во всём виноват ~навальный~ AR паттерн, а точнее то что в Yii2 он ещё расширен от Model, которая позволяет модельку пихать в формы и *СРАЗУ* всё делать. Т.е. в "нормальных" ситуациях должна быть AR, *Form модели и *Search модели, но тут всплывает второй косяк, правила валидации придётся копировать...

" но тут всплывает второй косяк, правила валидации придётся копировать..."

трейты уберут это

Konstantin
07.07.2017
09:37:41
правила валидации придется _частично_ копировать!

Vladislav
07.07.2017
09:37:56
Ну я вот об этом и говорил)
я же не говорю для всех ситуация использовать это решение, а там где имеет смысл

M
07.07.2017
09:38:02
правила валидации придется _частично_ копировать!
Спасибо, именно это я и имел в виду)

Vladislav
07.07.2017
09:38:32
если это _частично_ составляет более 50% или туда вхоядт сложные правилаЮ, которые могут часто менятся

то будет удобно

иначе копируй

ибо нет серебрянной пули

под каждую задачу нужно свое наиболее приемлимое решение

Konstantin
07.07.2017
09:40:30
я бы тупо копировал

M
07.07.2017
09:40:37
Я подумал МБ в rules трета сделать условие что если __class__ это Form, то даём одни правила, иначе другие...

Konstantin
07.07.2017
09:40:49
вот есть у тебя поле с мейлом

M
07.07.2017
09:40:55
я бы тупо копировал
Копировать вариант, но потом бегать по классам не удобно.

Vladislav
07.07.2017
09:41:05
можно и настолкьо абсрагироваться

Konstantin
07.07.2017
09:41:09
если ты по нему ищешь, то какая разница, валидный мейл тебе дали, или нет?

Vladislav
07.07.2017
09:41:12
можно даже не чекать __class__

Google
Vladislav
07.07.2017
09:41:25
а не

с првоеркой класса удобнее

но нужно тогда всегда строго соглашение обю именовании соблюдать

Konstantin
07.07.2017
09:42:14
а еще можно сделать базовый класс, унаследованный от модели, в нем правила валидации сделать для всех сценариев, а потом унаследовать form, search и ar от него

и вызвать огорчение @ExileeD :)

Vladislav
07.07.2017
09:42:28
если ты по нему ищешь, то какая разница, валидный мейл тебе дали, или нет?
а если ты сохраняешь/редактируешь (это две разныз формы), а еще для админа/модера/юзера разные формы редактированяия/сохранения

то тогда устанешь все поддерживать

Admin
ERROR: S client not available

Vladislav
07.07.2017
09:42:57
для части классов

Konstantin
07.07.2017
09:42:58
именно поэтому я копирую

и не парюсь

Dmitriy
07.07.2017
09:43:19
Vladislav
07.07.2017
09:43:30
у меня было как-то около 9 классов на одну Модель

и я накосячил в изщменении правил валидации

не ищменил у юзеров

и получилась дырка

после перевел натрейты

а сейчас даже интереснее идею подклинули

Google
Vladislav
07.07.2017
09:44:17
с проверкой класса

но можно сделать мягче и реализровать несколько методов

один общий

и дял каждой формы/модели и тд свой отедльный

типа userFormRules()

Dmitriy
07.07.2017
09:45:54
Возникает вопрос. А можно ли убрать полностью валидацию в Ар?

Vladislav
07.07.2017
09:46:04
и в самом UserForm { use UserValidationTrait; function rules() { return $this->userFormRules(); } }

Возникает вопрос. А можно ли убрать полностью валидацию в Ар?
в таком случае весь класс должыен быть приватным=D

и разговоры только через классы интерфейсы с ним

Vladislav
07.07.2017
09:46:37
еще один ненужный класс

Не должен
если напрямую начнут писать?

$obj = new User($params); $obj->save();

какой-нибудь джун или типа того

Dmitriy
07.07.2017
09:47:44
если напрямую начнут писать?
Пусть пишут мне все равно. Создадут форму и проверят там

Максим
07.07.2017
09:47:45
Не поделишься списком плагинов, которые стоят? Интересно. Думаю сам попробовать пожить без IDE.

Vladislav
07.07.2017
09:48:13
никогда не бывает так, как задумано

Nikita
07.07.2017
09:48:40
Может кто сталкивался использую select2 виджет когда выключаю встроеные 'yii\bootstrap\BootstrapAsset', виджет появляется, но появляется ошибка

Vladislav
07.07.2017
09:48:40
найдется новичок, или просто ленивый чел который подумает "да здесь явно норм данные"

Nikita
07.07.2017
09:48:42


Vladislav
07.07.2017
09:48:47
и пошло-поехало

Страница 343 из 1721