我有一个有验证的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>
模型
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
)
);
答案 0 :(得分:1)
您是否在default.ctp中添加了样式表?如果从default.ctp布局中删除了默认的CakePHP样式表,则默认颜色将不再存在。
您需要在布局中再次包含CakePHP样式表(在这里您可以看到它在原始default.ctp中的样式:https://github.com/cakephp/cakephp/blob/master/app/View/Layouts/default.ctp#L33)
或者在样式表中创建自己的CSS样式。您可以使用默认CakePHP样式表中的样式作为示例;
https://github.com/cakephp/cakephp/blob/master/app/webroot/css/cake.generic.css#L371
答案 1 :(得分:0)
您的代码没有任何问题。这就是CakePHP处理错误报告的方式。红色内容保留用于重大错误,例如缺少视图,缺少功能或无法连接到数据库。基本上会产生400的范围内的状态代码的东西。
我做了一些搜索更好地回答了你的问题,但我偶然发现了这个页面。 CakePHP 2.0 - How to make custom error pages?
关于CakePHP在你做错事时会产生什么状态代码的全部内容。 验证错误我认为甚至可以抛出OK(200),但不会向数据库写任何内容。发生了几次给我。