我是CakePHP的新手。我对这个观点有两个问题。
文本字段名称和文本字段区域之间存在换行符。我试图通过'div' => false
,但这不起作用。如何删除换行符并在同一行显示?
我已将验证规则添加到此文本字段,但是当我单击“保存”时,错误消息未显示。除了在我的模型中添加validates
之外,我是否还需要做其他事情?
以下是我的观点input.ctp
echo $this->Form->input('fileId', array(
'type'=>'text',
'style' => 'width: 200px; height: 15px'
));
echo $this->Form->end('Save Post');
这是我的模特:
var $validate = array(
'fileId' => 'notEmpty',
'message' => 'Should not be empty'
);
控制器:
if ($this->request->is('post')) {
$data = $this->request->data;
if ($data) {
// saving the data
}
}
答案 0 :(得分:2)
要验证您的数据,您应该具有以下内容:
public $validate = array(
'fileId' => array(
'rule' => 'notEmpty',
'message' => 'Should not be empty'
)
);
您的Controller
:
if ($this->request->is('post')) {
if ($this->Model->save($this->request->data)) {
// saved
}
}
如果无法保存,错误将显示在相应字段附近。或者您可以使用$this->Model->validationErrors
数组自定义错误。
对于换行符问题,请确保200px执行自动换行符,因为这些元素位于何处。
答案 1 :(得分:2)
如果您未使用save
,则需要使用validates
手动验证数据。在这种情况下,您还需要set
数据。对于例如在你的控制器
$this->ModelName->set($data);
$this->Modelname->validates();
答案 2 :(得分:1)
验证错误。
完全设置你的行动。
如果您没有使用输出字段,标签和错误的FormHelper :: input,您还需要使用$this->Form->error('fileId')
手动输出错误。
对于表单试试这个: 将此添加到您的CSS
label { float: left;
width: 150px;
display: block;
clear: none;
text-align: left;
vertical-align: middle;
padding-right: 0px;}
.xg {
display: block;
float:left;
}
echo $this->Form->input('fileId', array('div'=>'xg','type'=>'text', 'style' => 'width: 200px; height: 15px'));
echo $this->Form->end('Save Post');
答案 3 :(得分:0)
您可以按照以下方法自定义输出:
<tr>
<td><label>Username</label></td>
<td>
<?php echo $this->Form->input('username',array('label'=>false,'div'=>false,'error'=>false)); ?>
</td>
<td><?php echo $this->Form->error('username'); ?></td>
</tr>
此方法将为您输出相同的行。