Validation CakePHP:错误消息未显示验证字段
我是CakePHP新手。我对这个观点有两个问题Validation CakePHP:错误消息未显示验证字段,validation,cakephp,Validation,Cakephp,我是CakePHP新手。我对这个观点有两个问题 文本字段名称和文本字段区域之间有换行符。我试图传递'div'=>false,但没有成功。如何删除换行符并在同一行上同时显示 我已将验证规则添加到此文本字段,但当我单击“保存”时,不会显示错误消息。除了在模型中添加验证之外,我还需要做些什么吗 这是我的视图input.ctp echo $this->Form->input('fileId', array( 'type'=>'text', 'style' =>
- 文本字段名称和文本字段区域之间有换行符。我试图传递
,但没有成功。如何删除换行符并在同一行上同时显示'div'=>false
- 我已将验证规则添加到此文本字段,但当我单击“保存”时,不会显示错误消息。除了在模型中添加
之外,我还需要做些什么吗验证
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
}
}
调用validates()或save()时会出现验证错误。 完全设置您的操作。 如果您没有使用输出字段、标签和错误的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');
您可以通过以下方法自定义输出:
<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>
用户名
此方法将在同一行中为您提供输出。要验证您的数据,您应该具有以下内容:
public $validate = array(
'fileId' => array(
'rule' => 'notEmpty',
'message' => 'Should not be empty'
)
);
和您的控制器
:
if ($this->request->is('post')) {
if ($this->Model->save($this->request->data)) {
// saved
}
}
如果无法保存,错误将显示在相应字段附近。或者您可以使用$this->Model->validationErrors
数组自定义错误
对于换行问题,请确保200px根据这些元素的位置自动换行。如果未使用
save
,则需要使用validates
手动验证数据。在这种情况下,您还需要设置数据。例如,在控制器中
$this->ModelName->set($data);
$this->Modelname->validates();
当我在文本字段保持为空的情况下单击“保存帖子”按钮时,不会显示任何错误消息。我认为添加“between'=>”
就是在标签和字段之间添加换行符。我想删除换行符并在同一行中显示它们。好的,我现在取消了换行,我已经编辑了我的答案,认为在这种模式下,在您可以配置所需填充后,您可以在同一行中添加标签和输入。。。对于我正在搜索的模型..我只使用了一个文本字段,因此我自己没有使用任何css文件。我已经编辑了模型的答案,没有css,您无法将元素定位到您的站点中,您必须将其实现到现有的css中您自己的css行保存数据时是否可以发布控制器?尝试遵守约定。(db)字段为小写字母。将样式移动到样式表中。发布一段有疑问的HTML。蛋糕的版本是什么?我已经按照你说的更新了我的模型。文件Id标签附近有一个红色星号符号,但如果文件为空,我单击save post按钮,该标签附近不会显示任何错误消息。仅供参考,我假设如果字段为空,则按下保存按钮时会显示错误消息。控制器方法很大。我已经展示了它的相关部分。我没有使用save。是否有其他方式显示错误?是的,您需要调用save,否则验证方法将不会运行。或者,您可以调用
validates()
,不需要表格来布局表单。