2015-03-15 2 views
0

В запросе формы Laravel, как я могу вручную присвоить имя поля, которое будет отображаться при ошибке?Laravel 5 Форма запроса вручную указать имя поля для отображения

Это мой blade.php файл

<input type="text" name="txtConfigKey" id="txtConfigKey" class="form-control" placeholder="Config Key" /> 

Тогда на мой файл запроса:

public function rules() 
    { 
     return [ 
      'txtConfigKey' => 'required' 
     ]; 
    } 

Тогда выход: "требуется Ключевое поле TXT конфигурации."

Обратите внимание, что он преобразует «txtConfigKey» с пробелами. Есть ли способ для меня вручную указать, что будет поле?

В CodeIgniter, я могу сделать что-то вроде этого:

$this->form_validation->set_rules('txtConfigKey', 'Config Key', 'required'); 

отличающийся тем, что первый параметр является именем поля и вторым параметром является имя поля, которое я хочу, чтобы отображаться на ошибки сообщение.

ответ

1

Если вы используете запрос формы, существует метод, называемый messages(). Вы должны изменить его с помощью пользовательских сообщений об ошибках, таких как:

public function messages() 
{ 
    return [ 
    'txtConfigKey.required'=>'The Config Key is required' 
    ]; 
} 
+0

Я вижу .. Есть более короткий способ сделать это? Точно так же, как внедренный ими кодигнитор? Это заставляет меня переписывать коды снова и снова. Заставляет мои глаза болеть, видя много линий. Кроме того, если поле имеет несколько правил, таких как 'required | array', будет ли оно' txtKeyConfigKey.required.array'? – basagabi

+0

Кроме того, действительно ли это сообщение, которое мы могли бы изменить? Что делать, если я просто хочу настроить только поле и сохранить сообщение одинаково? Что-то вроде 'sprintf ('% s требуется.')'? – basagabi

+0

Вы можете использовать класс Validator, тогда он имеет статический метод, например Validator :: make ($ input, $ rules, $ messages) –

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