Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP错误验证_Php_Html_Cakephp - Fatal编程技术网

CakePHP错误验证

CakePHP错误验证,php,html,cakephp,Php,Html,Cakephp,我有一个带有验证的cakephp表单。验证本身可以工作,但当单击“提交”后出现错误时,它只会生成一些文本 为什么我没有颜色。它的意思是用红色显示错误 控制器 <div class="users form"> <?php echo $this->Form->create('Ticket'); ?> <fieldset> <legend>

我有一个带有验证的cakephp表单。验证本身可以工作,但当单击“提交”后出现错误时,它只会生成一些文本


为什么我没有颜色。它的意思是用红色显示错误

控制器

    <div class="users form">
            <?php echo $this->Form->create('Ticket'); ?>
                <fieldset>
                    <legend><?php echo __('Purchase'); ?></legend>



                        <?php
                            echo $this->Form->input('first_name');
                            echo $this->Form->input('last_name');
                            echo $this->Form->input('email');
                            echo $this->Form->input('phone');
                            echo $this->Form->input('date', array('options'=> $dates));
                            echo $this->Form->input('quantity', array('options' => $maxAmount, 'default' => '1'));
                        ?>
                </fieldset>
                    <?php   
                        echo $this->Form->end(__('Purchase')); 
                    ?>
            </div>

你的代码没有问题。这就是CakePHP处理错误报告的方式。红色内容保留用于重大错误,如缺少视图、缺少函数或无法连接到数据库。基本上是生成400范围内的状态代码的东西

为了更好地回答你的问题,我做了一些探索,但我无意中发现了这一页。

这一切都是关于当你做错事时CakePHP将生成什么状态代码。
我认为验证错误甚至会抛出OK(200),但不会向数据库写入任何内容。在我身上发生过几次。

在default.ctp中是否包含样式表?如果从default.ctp布局中删除默认的CakePHP样式表,默认颜色将不再存在

您需要在布局中再次包含CakePHP样式表(在这里您可以看到它在原始default.ctp:中的表现)

或者在样式表中创建自己的CSS样式。您可以使用默认CakePHP样式表中的样式作为示例


您是否设置了错误类的样式?要使其显示为红色?“这意味着以红色显示错误。”-告诉它为红色的代码在哪里?在这种情况下,PHP代码没有生成的HTML及其关联的CSS.cake有趣,因为在我创建default.ctp文件之前,它就完成了。我如何才能实现红色错误?我不想要一个错误页。。。。我只是在我的输入下面得到文本,给出我的错误消息。我希望这些文字是红色的。我不知道如何实现这一点:(嗯,创建一个CSS样式表?请参阅默认的CakePHP样式表以获取灵感:我是一个如此的noob.lol。我没有在CSS文件中正确地设置内容。感谢帮助:)我包括了它,但忘了添加几行。哈哈。不管怎样,现在排序:)不要挑剔,但是根据你的评论,你把错误的答案标记为正确的答案?另一个答案是“自定义错误页”?
    public $validate = array(
    'first_name' => array(
        'rule'     => '/^[a-zA-Z]{1,}$/i',
        'message'  => 'Alphabets only',
        'required' => true
    ),
    'last_name' => array(
        'rule'     => '/^[a-zA-Z]{1,}$/i',
        'message'  => 'Alphabet only',
        'required' => true
    ),
    'phone' => array(
        'rule'     => 'numeric',
        'message'  => 'numbers only please',
        'required' => true
    ),
    'email' => array(           
        'rule'    => 'email',
        'message' => 'Your email is not valid',
        'required' => true

    ),
    'quantity' => array(
        'rule'     => 'numeric',
        'message'  => 'numbers only please',
        'required' => true
    )
);