2015-10-23 2 views
0

Я прочитал все вопросы, связанные с предметом, но ничто не решило мою проблему.CAKEPHP - сообщение об утверждении поля 'isUnique'

Я использую 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&nbsp;</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

ли CakePHP версии 2 или 3? –

+0

версия 2, может у меня помочь? –

+0

Укажите код поля ввода html, как вы написали поле ввода? –

ответ

0

Это не делает сообщение об ошибке, потому что вы не включили код, который делает это.

код на ваш взгляд, должен выглядеть примерно так:

<div class="form-group col-md-6"> 
    <label class="form-label" for="serial">Serial number&nbsp;</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> 

Вместо жесткого кодирования HTML для поля ввода, вы могли бы, возможно, использовать FormHelper :: вход(), который принимает на себя все (включая ошибки) для вас.

На странице FormHelper в руководстве: Displaying and checking errors

Смежные вопросы