Запрещенные слова при добавление

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 18:02

Как добавить в правилах слова, которых запрещено добавить в базу? на activerecord-е
Реально ли это?

Аватара пользователя
ElisDN
Сообщения: 5459
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Запрещенные слова при добавление

Сообщение ElisDN » 2013.07.21, 18:06

Написать валидатор.

lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Re: Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 18:55

Код: Выделить всё

<?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 раз.

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Запрещенные слова при добавление

Сообщение lancedevnull » 2013.07.21, 19:09

U - флаг utf-8

lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Re: Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 19:13

не понял

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Запрещенные слова при добавление

Сообщение lancedevnull » 2013.07.21, 19:15

/\bслово\b/iU

lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Re: Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 19:39

не работает(

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Запрещенные слова при добавление

Сообщение lancedevnull » 2013.07.21, 19:46

тот код что вы дали, на 99% уверен не соответствует действительности

lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Re: Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 19:49

Код: Выделить всё

$data = array(
            'мат',
            'мат',
            'мат',
            'мат',
            'мат',
            'мат',
            'мат',
            'мат'
        );
 
откуда такая уверенность? что еще скинуть

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Запрещенные слова при добавление

Сообщение lancedevnull » 2013.07.21, 19:54

$this->addError($object,$attribute, 'Запрещенное слово');
$object->addError() // а слона то я не приметил :-х

lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: Запрещенные слова при добавление

Сообщение lancedevnull » 2013.07.21, 19:54

и т.к. вы вызывали протектед метод, должна была быть ошибка, вот вам и ответ на пред. камент

lolka
Сообщения: 141
Зарегистрирован: 2013.05.05, 20:59

Re: Запрещенные слова при добавление

Сообщение lolka » 2013.07.21, 19:59

ошибок нет)

http://phptime.ru/yii/perevod-sozdanie- ... -rule.html
сделал второй способ как тут написано

Ответить