我已经阅读了与该主题相关的所有问题,但没有解决我的问题。
我在模型上使用了cakephp $validate
,工作正常,但我需要发一条消息来识别错误,我已将属性消息放在数组中,但它不会出现在任何地方。
如果有人可以帮助我并提供示例,请在此处发表评论。
public $validate = [
'number' => [
'rule' => 'isUnique',
'message' => 'Serial number should be unique.'
],
];
表格输入:
<div class="form-group col-md-6">
<label class="form-label" for="serial">Serial number </label><br>
<input id="serial" name="serial" value="<?php echo $data['serial']; ?>" type="text" data-bv-notempty="true" required="required" class="form-control" <?php echo $readonly; ?>>
<div class="help-block with-errors"></div>
</div>
表单创建:
echo $this->Form->create(null, array(
"role" => "form",
"data-toggle" => "validator",
));
答案 0 :(得分:0)
它没有呈现错误消息,因为您没有包含执行此操作的代码。
视图中的代码应如下所示:
<div class="form-group col-md-6">
<label class="form-label" for="serial">Serial number </label><br>
<input id="serial" name="serial" value="<?php echo $data['serial']; ?>" type="text" data-bv-notempty="true" required="required" class="form-control" <?php echo $readonly; ?>>
<div class="help-block with-errors">
<? if ($this->Form->isFieldError('serial')) {
echo $this->Form->error('serial');
} ?>
</div>
</div>
您可以使用FormHelper :: input()来代替为输入字段对HTML进行硬编码,而不是为您处理所有事情(包括错误)。
从手册中的FormHelper页面:Displaying and checking errors