模型与另一个模型有三个belongsTo关联时验证问题

时间:2013-05-17 23:30:28

标签: validation cakephp formhelper

我的表单上缺少一些验证消息,但invalidMessages()的结果是正确的。如果我输入ATCSTudent.lastName的姓氏,那么我在ATCGradChair1上没有得到lastName的验证消息。我尝试修复3828,但它不起作用。

我有一个属于的模型:

public $belongsTo = array(

'ATCStudent' => array('className' => 'Person', 'foreignKey' => 'studentId'),

'ATCProgram' => array('className' => 'Program', 'foreignKey' => 'programId'),

'ATCGradChair1' => array('type' => 'inner', 'className' => 'Person', 'foreignKey' => 'gradChair1Id'),

'ATCGradChair2' => array('className' => 'Person', 'foreignKey' => 'gradChair2Id'),

);

我的观点如下:

echo $this->Form->create('ATCForm', array('novalidate' => true));

echo $this->Form->input('id');

//echo $this->Form->input('ATCStudent.id');

echo $this->Form->input('ATCStudent.lastName');

echo $this->Form->input('ATCStudent.firstName');

echo $this->Form->input('ATCStudent.emplId');

echo $this->Form->input('ATCStudent.campusId');

echo $this->Form->input('ATCStudent.email');

echo $this->Form->input('progCode', array('type'=>'select','options'=>$programs));

echo $this->Form->input('termCode', array('type'=>'select','options'=>$terms));

echo $this->Form->input('prelimDate');

echo "<p>Enter below only cross-listed courses and/or courses taken at another institution.

";
echo $this->Form->input('cognate');

//echo $this->Form->input('ATCGradChair1.id');

echo $this->Form->inputs(array('legend'=> 'Graduate Chair 1', 'ATCGradChair1.firstName', 'ATCGradChair1.lastName', 'ATCGradChair1.campusId'));

//echo $this->Form->input('ATCGradChair2.id');

echo $this->Form->inputs(array('legend'=> 'Graduate Chair 2', 'ATCGradChair2.firstName', 'ATCGradChair2.lastName', 'ATCGradChair2.campusId'));

echo $this->Form->end('Submit');

大部分字段都是必填项。我正在使用带有深度选项的saveAll进行保存和验证。似乎在tagIsInvalid中对_introspectModel的调用在检查ATCGradChair1上的字段时没有返回正确的验证消息数组。

我的观点不正确或这是一个错误吗?

0 个答案:

没有答案
相关问题