Select 字段旧值无法在 laravel 中显示

Select field Old value cannot be displayed in laravel

我有一个带有 select 字段的用户注册表单,每当我在表单上遇到错误时,用户都会重定向到该表单并显示之前输入的值

我能够显示文本字段的旧值,但我发现很难显示 select 字段的旧值,

我的select字段如下,

<select id="app-subdomainsuffix"  class="form-control @error('subDomainSuffix') is-invalid @enderror" name="subDomainSuffix" aria-required="true">
                                <option value="">- {{ __('sentence.Select domains') }} -</option>
                                <option value="test.site"  >TEST.SITE</option>
                            </select>

我正在使用 laravel 7

<option value="test.site"  {{ (old("subDomainSuffix") == 'test.site' ? "selected":"") }}>TEST.SITE</option>

首先,您需要每个选项的价值,但我没有看到您的第一个选项有任何价值。 然后你需要一个逻辑来检查选项是否被 selected 并将 "selected Attribute" 分配给 HTML :

<select id="app-subdomainsuffix"  class="form-control @error('subDomainSuffix') is-invalid @enderror" name="subDomainSuffix" aria-required="true">
                                <option value="value1" @if(old('subDomainSuffix') == "value1") selected @endif >- {{ __('sentence.Select domains') }} -</option>
                                <option value="test.site" @if(old('subDomainSuffix') == "test.site") selected @endif >TEST.SITE</option>
                            </select>

以上示例只能演示如何 select 选项,但为了更清晰的代码,您最好使用 中提到的选项数组。