2014-09-15 3 views
0

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

потому что они заполнены динамически, функция Laravel withInput не возвращает данные, которые были выбраны, если форма не прошла проверку.

Есть ли способ вернуть входные данные из динамически созданных данных поля?

Вот мой Java-скрипт, который строит в меню выбора

$('.admin-select').change(function() { 

    $.getJSON("/locations/getlocationslist/"+$(this).val(), function(data) { 

     var location = $('#location'); 
     location.empty(); 

     $.each(data, function(index, element) { 
      location.append("<option value='"+ element.id +"'>" + element.name + "</option>"); 
     }); 
     $.one(location.prepend("<option>- Select -</option>")); 

    }); 
}); 

Это функция, которая получает данные для меню:

public function getlocationslist($id) 
{ 
    $company = Company::find($id); 
    $locations = $company->locations(); 
    return Response::make($locations->get(['id','name'])); 
} 

В моих пользователей контроллеры магазин функции проверить проверки:

$this->userNewForm->validate(Input::all()); 

Тогда обработчик ошибок:

App::error(function(Laracasts\Validation\FormValidationException $exception, $code) 
{ 
return Redirect::back()->withInput()->withErrors($exception->getErrors()); 
}); 
+0

Данные уже в вашей форме, вы не можете просто вернуть ошибки и показать их своему пользователю? –

ответ

0

Поскольку меню выбора местоположения динамически создается через AJAX, для Laravel не существует опции для предварительного выбора при повторной загрузке страницы.

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