Как вернуть проверенное значение идентификатора в валидации Laravel - PullRequest
0 голосов
/ 11 октября 2019

Итак, я создал сгенерированные зацикленные радио-кнопки:

<div class="custom-control custom-radio guest-form">
    @foreach(config('const.res_site') as $id => $res)
    <div class="form-radio">
        <input class="custom-control-input" type="radio" onchange="otherResSite({{$id}})" id="{{$res}}" value="{{$id}}" 
            name="reservation_site" {{ old("reservation_site") == $id ? "checked" : "" }}>
        <label for="{{ $res }}" class="custom-control-label">{{ $res }}</label>
    </div>
    @endforeach
    <div class="otherField" id="ifOtherSite" class="otherSite" style="display: {{ old('reservation_site') == 4 ? 'display:inline-flex' : 'none' }}">
        <input type='text' class="form-control" id='otherSite' name='otherSite' value="{{ old('otherSite', '') }}"><br>
    </div>
</div>
@if ($errors->has('otherSite'))
    <div class="form-group">
        <p class="text-danger">{{ $errors->first('otherSite') }}</p>
    </div>
@endif

const.php

'res_site' => [
    0 => 'site1',
    1 => 'site2',
    2 => 'other',
],

Это нужно для проверки значения otherSiteесли выбран вариант другой. Теперь это работает хорошо, но возвращаемое сообщение проверки выглядит следующим образом:

Другое поле сайта требуется, когда сайт бронирования равен 2.

Мой валидатор выглядит так:

return [
    'reservation_site' => ['required'],
    'otherSite' => ['required_if:reservation_site,2'],
]

Теперь, как я могу сделать его ответное сообщение как

Другое поле сайта необходимо заполнить, если сайт бронирования другой

Есть ликак я могу это сделать?

1 Ответ

0 голосов
/ 11 октября 2019

Хорошо. Если кому-то может понадобиться это когда-нибудь, я сделал это так:

 <input class="custom-control-input" type="radio" id="{{$res}}" value='{{$id == 4 ? "other" : $id}}'>

и в моей проверке:

return [
        'reservation_site' => ['required'],
        'otherSite' => ['required_if:reservation_site,other'],
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...