Выберите вход с 2 пустыми значениями параметров - PullRequest
0 голосов
/ 06 декабря 2018

В моем приложении laravel 5.7 / mysql 5 у меня есть логическое поле is_quiz в таблице голосов и в модели, которую я определяю:

protected $casts = [
    'is_quiz' => 'boolean',
];
...

И массив с возможными значениями / ключами для использования этих полей

private static $voteIsQuizLabelValueArray = Array(1 => 'Is Quiz', 0 => 'Is Not Quiz');

в элементе управления я добавляю пустое значение для пустого селектора:

$viewParamsArray['voteIsQuizValueArray']         = $this->SetArrayHeader(['' => ' -Select Is Quiz- '], Vote::getVoteIsQuizValueArray(false));

, и этот массив имеет значения:

$viewParamsArray['voteIsQuizValueArray']::Array
(
    [] =>  -Select Is Quiz- 
    [1] => Is Quiz
    [0] => Is Not Quiz
)

В моем виде этот массив как:

{{ Form::select('is_quiz', $voteIsQuizValueArray, isset($vote->is_quiz) ? $vote->is_quiz : '', [ "id"=>"is_quiz", "class"=>"form-control editable_field select_input " ] ) }}

и в визуализированном html-источнике я вижу 2 выбранных варианта:

<select id="is_quiz" class="form-control editable_field select_input valid" name="is_quiz" aria-invalid="false" aria-describedby="is_quiz-error"><option value="" selected="selected"> -Select Is Quiz- </option><option value="1">Is Quiz</option><option value="0" selected="">Is Not Quiz</option></select>

и validator.w3.org выдает здесь ошибку.Я вижу, в чем причина синтаксической ошибки, но я не знаю, есть ли простой способ ее исправить?

Спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018

Конструктор форм устарел, поскольку Laravel 5

Почему помощники форм и HTML устарели в Laravel 5.x?

В качестве одного из вариантов можно попробовать использовать LaravelКоллектив

https://packagist.org/packages/laravelcollective/html

Но ИМО, лучшее решение - построить выбор через лезвие:

<select id="is_quiz" 
    class="form-control editable_field select_input valid" 
    name="is_quiz" 
    aria-invalid="false"
    aria-describedby="is_quiz-error"
>
    @foreach ($voteIsQuizValueArray as $k => $v)
            <option 
                    value="{{ $k }}" 
                    @if( $k === old('is_quiz', '') ) selected="selected" @endif
            >{{ $v }}</option>
    @endforeach
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...