У меня есть этот код для проверки данных поста:
public function register_action()
{
$this->Language->load('account/register');
try {
// Run CSRF check, on POST data, in exception mode, with a validity of 10 minutes, in one-time mode.
// Csrf::check('csrf_token', $_POST, true, 60 * 10, false);
$gump = new \App\Core\Validate\GUMP('en');
$_POST = $gump->sanitize($_POST); // You don't have to sanitize, but it's safest to do so.
$gump->set_field_name('customer_username', $this->Language->get('text_username'));
$gump->validation_rules(array(
'customer_username' => 'required|alpha_numeric|max_len,12|min_len,6',
));
$gump->filter_rules(array(
'customer_username' => 'trim|sanitize_string|lower_case',
));
$validated_data = $gump->run($_POST);
if ($validated_data === false) {
$errors = [$gump->get_readable_errors(true)];
$this->templates->addData(['errors' => $errors], 'account/register');
return $this->index();
} else {
try {
echo $_POST['customer_username'];
} catch (\Exception $e) {
$errors = [$this->Language->get($e->getMessage())];
$this->templates->addData(['errors' => $errors], 'account/register');
return $this->index();
}
}
} catch (\Exception $e) {
Response::redirectBack('account/register');
exit();
}
}
В действии правила валидации работают нормально и верно, но когда мне нужно напечатать правило фильтрации, мой код не работает, т.е.:
Я отправляю customer_username с этими данными: AAAAAAAAAA
Я устанавливаю правило фильтра на: нижний регистр И печатаю с использованием эха $_POST['customer_username'];
Но в выводе я вижу: AAAAAAAAAA
Как я могу исправить эту ошибку и распечатать отфильтрованные данные?