样式回声错误


Styling Echo Errors

我创建了一个注册页面,如果验证不通过,它会回显错误。错误总是出现在表单的顶部。我希望它们出现在表单下面,所以我添加了一个div。但这不起作用,因为它使每个错误都有一个单独的div,而不是将所有错误都放在一个div中。如何在表单下面的一个div中生成所有错误?

if (Input::exists()) {
    if (Token::check(Input::get('token'))) {
        $validate = new Validate();
        $validation = $validate->check($_POST, array(
        //validation
        if ($validation->passed()) {
            $user = new User();
            //pass information to database
                Session::flash('home', 'You have been registered and can now log in!');
                Redirect::to('index.php');
            } catch (Exception $e) {
                die($e->getMessage());
            }
        } else {
            foreach ($validation->errors() as $error) {
                echo '<div id="r-error"><p id="error">', $error, '</p></div>';
            }
        }
    }
}
?>

只需将<div>从循环中取出即可。在循环之前回声打开,然后在循环之后回声关闭。

if (Input::exists()) {
    if (Token::check(Input::get('token'))) {
        $validate = new Validate();
        $validation = $validate->check($_POST, array(
        //validation
        if ($validation->passed()) {
            $user = new User();
            //pass information to database
                Session::flash('home', 'You have been registered and can now log in!');
                Redirect::to('index.php');
            } catch (Exception $e) {
                die($e->getMessage());
            }
        } else {
            echo '<div id="r-error">';
            foreach ($validation->errors() as $error) {
                echo '<p class="error">', $error, '</p>';
            }
            echo '</div>';
        }
    }
}
?>