Что бы вы хотели получить в Yii 2?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
Если в RBAC забить на роли — получится ACL
Gii определённо будем пилить.
Gii определённо будем пилить.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Спасибо, про путь не знал.Sam Dark писал(а):Можно прописывать и полный путь к классу. Все валидаторы — классы. Наследуйтесь сколько пожелаете.
А вот как быть с динамическими правилами валидации ?
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
С какими такими динамическими?
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Очень редкая и не простая ситуация, которую можно решить своим валидатором или иным способом, когда одно правило валидации зависит от другого.Sam Dark писал(а):С какими такими динамическими?
Например:
К атрибуту foo применяется валидатор baz только если bar не пустой или его длина больше 5. Подобные правила валидации реализованы в SVARX , если я все правильно понял.
UPD:
следует отметить что там не проверка, а описание правил для проверки.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
Всё-таки не динамические. SVARX посмотрел, идея понятна. Надо обдумать.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Добавить поддержку валидации массивов данных. Иногда нужно вводить данные списком и в форме делаешь поле типа name="field[]". Сейчас для таких полей приходится делать кастомный валидатор. Хотелось бы что-то типа такого:
Код: Выделить всё
/**
* Declares the validation rules.
*/
public function rules() {
return array(
// name, email, subject and body are required
array('field', 'validateArray', 'rules' => array(
array('required'),
array('length', 'min' => 10, 'max' => 20),
array('match', 'pattern' => '$[a-z]{5}[0-9]{5,}^')
)),
);
}
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
т.е. «применить к каждому» + все должны быть валидны?
Нравится Yii? Давайте сделаем его лучше!.
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
2Psih, тогда уж лучше так:
Код: Выделить всё
/**
* Declares the validation rules.
*/
public function rules() {
return array(
// name, email, subject and body are required
array('field[]', 'required'),
array('field[]','length', 'min' => 10, 'max' => 20),
array('field[]','match', 'pattern' => '$[a-z]{5}[0-9]{5,}^')
)),
);
}
Re: Что бы вы хотели получить в Yii 2?
@Ekstazi , спасибо полезно.
Re: Что бы вы хотели получить в Yii 2?
хорошо бы еще предусмотреть общий заголовок таблицы (cgridview), а не только столбцов.
Re: Что бы вы хотели получить в Yii 2?
cgridview не ядро фрейма
Re: Что бы вы хотели получить в Yii 2?
Сверхполезно, почему бы это не сделать прямо в 1.1?Ekstazi писал(а):2Psih, тогда уж лучше так:Код: Выделить всё
/** * Declares the validation rules. */ public function rules() { return array( // name, email, subject and body are required array('field[]', 'required'), array('field[]','length', 'min' => 10, 'max' => 20), array('field[]','match', 'pattern' => '$[a-z]{5}[0-9]{5,}^') )), ); }
Re: Что бы вы хотели получить в Yii 2?
Я не читал всю тему, но было бы удобно чтобы при создании миграций парсилось ее название и на основе него формиировался код миграции если это возможно. Так сделано в RubyOnRails, вещь очень удобная.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Что бы вы хотели получить в Yii 2?
М… сейчас и так на вход подаётся название, а на выходе имеем названный им файл и одноимённый класс внутри.
Нравится Yii? Давайте сделаем его лучше!.
Re: Что бы вы хотели получить в Yii 2?
Это далеко не то. Я создаю миграцию add_column_user_id_to_orders_int на выходе должна быть строкаSam Dark писал(а):М… сейчас и так на вход подаётся название, а на выходе имеем названный им файл и одноимённый класс внутри.
Код: Выделить всё
$this->addColumn('orders', 'user_id','int');
Re: Что бы вы хотели получить в Yii 2?
Хотелось бы увидеть возможность делать валидаторы для нескольких полей одновременно. Как пример:
- валидировать, что хотя бы один из атрибутов модели не пуст.
- валидировать, что связка из трех атрибутов модели уникальна для модели.
Сейчас валидаторы принимают в себя только один атрибут, емнип.
- валидировать, что хотя бы один из атрибутов модели не пуст.
- валидировать, что связка из трех атрибутов модели уникальна для модели.
Сейчас валидаторы принимают в себя только один атрибут, емнип.
Re: Что бы вы хотели получить в Yii 2?
я не делал, но можно создавать свои валидаторы.byteasdf писал(а):Хотелось бы увидеть возможность делать валидаторы для нескольких полей одновременно.
создайте свой валидатор для группы аттрибутов (в нем делайте что угодно) , внесите его в rules вместе со списком атрибутов.
должно работать.
Re: Что бы вы хотели получить в Yii 2?
Скажем так, можно валидировать сразу несколько атрибутов. Но стандартный механизм валидации написан для валидации по одному атрибуту.
То есть при правиле array('fielda, fileldb', 'unique') оно переберет поля и для каждого применит валидатор.
То есть при правиле array('fielda, fileldb', 'unique') оно переберет поля и для каждого применит валидатор.
Re: Что бы вы хотели получить в Yii 2?
ну что Вам жалко чтоли, если валидатор отработает несколько раз ? допстуми
ну запустится он два раза - не проблема.
Код: Выделить всё
array('fielda,fieldb', 'ownvalidator')
и ownValidator() {
if(!empty(fielda) && !empty(fieldb)) {
return true
} else
return false
Последний раз редактировалось RusAlex 2011.10.04, 21:03, всего редактировалось 1 раз.
Re: Что бы вы хотели получить в Yii 2?
причем для Вашей задачи подойдет динамическая подгрузка валидаторов в методе beforeValidate()
Последний раз редактировалось RusAlex 2011.10.04, 21:03, всего редактировалось 1 раз.