我有一个像
这样的输入框<input id="BreakdownProgName" type="text" required="required" placeholder="customer name" size="50" name="data[Breakdown][prog_name]">
我的模型验证不适用于此代码,但是当我更换上面的代码时 -
<?php echo $this->Form->input('Breakdown.prog_name',array('label'=>false,'div'=>false,'size'=>50,'placeholder'=>"customer name",'type'=>'text')); ?>
那段时间验证工作正常。但我想先使用第一个,并且希望验证与第一个代码完美配合。我该怎么办?
我的控制器代码是
public function qty_breakdown1()
{
$this->layout='common';
if(empty($this->data) == false)
{
if($this->Breakdown->save($this->data))
{
//echo "This";
$this->Session->setFlash('B Added Successfully.', 'default', array('class' => 'oMsg1 oMsgError1'));
$this->redirect('qty_breakdown');
}
}
else
{
$this->set('errors', $this->Breakdown->invalidFields());
}
}
答案 0 :(得分:1)
无论视图代码如何,POST数据中的字段名称都是正确的,您的验证都应该有效。那是因为验证适用于服务器端。
但是,如果要显示验证错误,则应使用Cake的FormHelper呈现表单元素或手动检查视图文件中的验证错误,并从PHP代码中显示它们。
编辑:请检查API:isFieldError - 检查字段是否有错误 error - 为给定字段呈现格式化错误消息。