2013-05-23 1 views
0

В datamapper вы можете использовать $u->error_message('custom', 'This is a custom error message.');, чтобы установить сообщение об ошибке при завершении проверки при сохранении.Использование сообщений об ошибках валидации для возврата предупреждений

Однако я хотел бы иметь возможность использовать этот метод для возврата сообщения даже в тех случаях, когда валидация строго не удалась - как предупреждения или сообщения о состоянии после сохранения, которые я хочу вернуть пользователю.

Кто-нибудь знает способ достичь этого?

+0

Посмотрите обратные вызовы валидации в руководстве пользователя CI. –

ответ

0

Спасибо за ваши ответы, посмотрев на исходный код DataMapper я обнаружил, что валидация терпит неудачу, когда $ item-> error-> все не пусто. Поэтому я мог бы добавить метод в библиотеке datamapper, который делает то же самое, что и $ item-> error_message(), за исключением заполнения массива $ item-> error-> all. например:

/** 
    * Status Message 
    * 
    * Adds an status message to this objects error object. 
    * 
    * @param string $field Field to set the error on. 
    * @param string $error Error message. 
    */ 
    public function status_message($field, $error) 
    { 
     if (! empty($field) && ! empty($error)) 
     { 
      // Set field specific value 
      $this->error->{$field} = $this->error_prefix . $error . $this->error_suffix; 

      // Add field error to errors all list 
      // $this->error->all[$field] = $this->error->{$field}; 

      // Append value to error message string 
      $this->error->string .= $this->error->{$field}; 
     } 
    } 
0

Не могли бы вы просто проанализировать значение файла вида после успеха?

Контроллер:

/* Validated code */ 

/* Updates/Inserts */ 

$data['success_update'] = TRUE; 

Вид:

<? if (! empty($success_update)): ?> 
<div id="success_update"> 
    Thingie updated successfully 
</div> 
<? endif; ?> 
Смежные вопросы