我在模型中有这个验证代码,问题是这个特定的验证消息没有显示验证正在发生,当我要提交表单时,我想在困难领域下面显示错误信息。我期待着您的帮助,我们将非常感谢您的帮助。
$validator
->add('difficulty',[
'valid'=>[
'rule' =>['inList',[1,2,3,4]],
'message' => __('work difficulty required'),
],
]) ;
return $validator
input.ctp
<tr>
<th>Work difficulty (*)</th>
<td>
<?php echo $this->Form->input('difficulty',
[
'type' => 'select',
'options'=>$difficulty_options,
'div'=>false,
'label'=>false,
'empty' => 'Please select']
);
?>
</td>
</tr>>
在Controller.php中
$difficulty_options = array(
"1"=>"難しすぎる (too difficult)",
"2" => "少し難しい(a little difficult)",
"3" => "簡単 (easy)",
"4" => "易しすぎる (too easy)"
);
$this->set('difficulty_options' , $difficulty_options);
答案 0 :(得分:0)
现在很清楚为什么你没有显示错误信息。
验证后,如果发生任何错误,默认情况下cakephp会生成错误div。
<div class="error-message">Your error message here</div>
在输入字段中,您已应用'div'=>false
。因此,此错误消息div不会生成。现在,您可以在difficulty
字段后使用以下代码轻松解决此问题。
echo $this->Form->error('difficulty', null, array('class' => 'error-message'));
只需在<td>
<td>
<?php echo $this->Form->input('difficulty',
[
'type' => 'select',
'options'=>$difficulty_options,
'div'=>false,
'label'=>false,
'empty' => 'Please select']
);
?>
<?php echo $this->Form->error('difficulty', null, array('class' => 'error-message')); ?> // new line in here
</td>