Есть ли способ запретить слово в встроенной проверке формы Codeigniter? - PullRequest
0 голосов
/ 23 января 2011

O имеют форму, в которой поля предварительно заполнены jQuery. Когда пользователь нажимает на поле, поле очищается, и они вводят свою информацию. Однако, если они не вводят информацию в каждом поле, передается значение по умолчанию. Я хотел бы использовать встроенную проверку Codeigniter, чтобы запретить пользователям создавать учетные записи с именем «Имя».

См. Здесь: otis.team2648.com/auth/register

Спасибо, Блейк

Ответы [ 3 ]

1 голос
/ 23 января 2011

Я бы расширил библиотеку Form_validation и превратил ее в более ценное правило проверки формы, которое вы могли бы легко использовать ...

пример - (Изменить соответствующую информацию для вашей версии CI)

class MY_Form_validation extends CI_Form_validation {

    function __construct() {
        parent::CI_Form_validation();
    }

    function disallow_string($str,$word)
    {
        return ( strpos($str,$word) === FALSE ) ? TRUE : TRUE;
    }
}

Поместите вышеуказанный код в MY_Form_Validation.php в application/libraries

и при проверке просто используйте правило, подобное этому

$this->form_validation->set_rules('first_name', 'required|disallow_string[First Name]');

обратите внимание, что затем вы можете использовать это же правилодля всех полей, как и в других случаях, я могу представить.

1 голос
/ 23 января 2011

Вы можете использовать функцию обратного вызова:

// ваши правила

$this->form_validation->set_rules('first_name', 'required|callback__no_first_name');

// обратный вызов

function _no_first_name($str) {
    if ($str !== 'First Name') {
        return TRUE;
    }
    else
    {
        $this->form_validation->set_message('_no_first_name', 'You should not have "First Name as the first name"');
        return FALSE;
    }
}
0 голосов
/ 23 января 2011

Не пишите текст по умолчанию в качестве значения в поле! Используйте эту конструкцию:

<input type="text" name="uname" id="uname" placeholder="Your name" />

Если пользователь установил фокус на это поле, текст исчезнет. Но значение не передается, если пользователь ничего не вставляет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...