Здраствуйте! Я написал вот такой код
public function validation ($data, $post) {
        foreach ($data as $name => $rules) {
            foreach ($rules as $rule_name => $value) {
                switch ($rule_name) {
                    case 'required':
                        if ($value && empty($post[$name])) {
                            $this->message = $data[$name]['message'];
                            return false;
                        }
                        return true;
                        break;
                }
            }
        }
    }
Вызываю я его вот таким образом
$data = [
                'password' => [
                    'required' => true,
                    'message' => 'Заполните пароль'
                ],
                'email_username' => [
                    'required' => true,
                    'message' => 'Заполните имя'
                ],
            ];
            if (!$this->model->validation($data, $_POST)) {
                $this->view->sendMessage('error', [
                    'message' => $this->model->message
                ]);
            }
Проблема в том, что если я не заполню пароль, то он сработает, а вот если я не заполню email, то он не сработает. Смотрите ещё, если я поменяю массив password в низ, то email будет работать, а пароль нет, ахахаа, че за духи? Помогите пожалуйста! 
Спасибо!