Laravel - установлен минимум один флажок - PullRequest
0 голосов
/ 30 сентября 2019

Итак, у меня есть этот код, который получает все тексты флажков и генерирует столько же, сколько имеется в базе данных, но я хочу установить минимум один флажок, прежде чем пользователь сможет сохранить настройки.

<dl id="checkboxes">
                            @if($user->services)
                                @foreach($services as $service)
                                    <dd>
                                        <input type="checkbox" id="chk{{ $service->id }}"  name="services[]" value="{{ $service->id }}"  {{  in_array($service->id, $user->services) ? 'checked' : ''}} />
                                        <label for="chk{{ $service->id }}">{{ $service->name }}</label>
                                    </dd>
                                @endforeach
                            @else
                                @foreach($services as $service)
                                    <dd>
                                        <input type="checkbox" id="chk{{ $service->id }}"  name="services[]" value="{{ $service->id }}" />
                                        <label for="chk{{ $service->id }}">{{ $service->name }}</label>
                                    </dd>
                                @endforeach
                            @endif
                        </dl>

И, поскольку это большая форма (настройки профиля), кнопка находится в конце.

<button type="submit" class="custom-save-submt">@lang('Guardar')</button>

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете получить значения флажков в вашем контроллере следующим образом:

$services = Input::get('services');

Затем вы хотите перенаправить, если $services возвращает пустой массив:

if (!$services) {
    return Redirect::back()->withErrors(['msg', 'Please select at least 1 service.']);
}

Или, используя проверку Laravel:

$validatedData = $request->validate([
    'services' => 'required',
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...