Запрещенные слова при добавление
Запрещенные слова при добавление
Как добавить в правилах слова, которых запрещено добавить в базу? на activerecord-е
Реально ли это?
Реально ли это?
Re: Запрещенные слова при добавление
Написать валидатор.
Re: Запрещенные слова при добавление
Код: Выделить всё
<?php
class Fighty extends CValidator{
public function validateAttribute($object,$attribute){
$data = array(
'мат'
);
foreach($data as $row):
$value=$object->$attribute;
if(preg_match("/\b".$row."\b/i", $value)){
$this->addError($object,$attribute, 'Запрещенное слово');
}
endforeach;
}
}
Код: Выделить всё
public function rules(){
Yii::import('ext.MyValidators.Fighty');
...
array('title', 'fighty'),
..
}
Последний раз редактировалось lolka 2013.07.21, 19:56, всего редактировалось 1 раз.
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Запрещенные слова при добавление
U - флаг utf-8
Re: Запрещенные слова при добавление
не понял
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Запрещенные слова при добавление
/\bслово\b/iU
Re: Запрещенные слова при добавление
не работает(
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Запрещенные слова при добавление
тот код что вы дали, на 99% уверен не соответствует действительности
Re: Запрещенные слова при добавление
Код: Выделить всё
$data = array(
'мат',
'мат',
'мат',
'мат',
'мат',
'мат',
'мат',
'мат'
);
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Запрещенные слова при добавление
$this->addError($object,$attribute, 'Запрещенное слово');
$object->addError() // а слона то я не приметил :-х
$object->addError() // а слона то я не приметил :-х
-
- Сообщения: 1268
- Зарегистрирован: 2013.07.17, 17:37
Re: Запрещенные слова при добавление
и т.к. вы вызывали протектед метод, должна была быть ошибка, вот вам и ответ на пред. камент
Re: Запрещенные слова при добавление
ошибок нет)
http://phptime.ru/yii/perevod-sozdanie- ... -rule.html
сделал второй способ как тут написано
http://phptime.ru/yii/perevod-sozdanie- ... -rule.html
сделал второй способ как тут написано