Что противоположно inList в моей модели cakePHP? - PullRequest
0 голосов
/ 23 апреля 2019

inList утверждает, что ваш массив должен содержать определенное строковое значение. Я ищу правило, которое исключает определенные значения для имен в моей модели.

В следующем коде указано, что имя должно быть Боб, Бобби или Бобзилла:

'name'  => array(
    'rule' => array('inList', array('Bob', 'Bobbie', 'Bobzilla')),
    'message' => 'Stop it Bob!'
),

Мне нужно, чтобы пользователь был неспособен ввести любое из этих имен. Мне кажется, что inList должно быть notInList. Я пробовал много способов, но ни один из них не привел меня в Рим.

Если бы вы могли мне помочь, я был бы очень признателен!

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Это лучшее решение, которое мне удалось найти:

public function itsBob($check) {  
    $bobArr = ['Bob', 'Bobbie', 'Bobzilla'];

    if (!in_array($check['name'], bobArr) {
        return false;
    }
    return true;
}

Со следующими строками в проверке $:

'name' => array(
    'rule' => array('itsBob'),
    'message' => 'Stop it bob!'
),

itsBob буквально делает противоположноеinList.

0 голосов
/ 23 апреля 2019

Взгляните на PHP in_array функция что-то вроде

if (!in_array(ENTERED_NAME,YOUR ARRAY)) {

}
...