选择字段旧值无法在 laravel 中显示

Posted

技术标签:

【中文标题】选择字段旧值无法在 laravel 中显示【英文标题】:Select field Old value cannot be displayed in laravel 【发布时间】:2020-07-20 13:18:41 【问题描述】:

我有一个带有选择字段的用户注册表单,当我收到表单错误时,用户重定向到表单并显示以前输入的值

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

我的选择字段如下,

<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

【问题讨论】:

【参考方案1】:
<option value="test.site"   (old("subDomainSuffix") == 'test.site' ? "selected":"") >TEST.SITE</option>

【讨论】:

请在您的答案中添加一些解释,以便其他人学习【参考方案2】:

首先,您需要为每个选项提供价值,我认为您的第一个选项没有任何价值。 然后你需要一个逻辑来检查选项是否被选中并将“选定的属性”分配给 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>

以上示例仅演示了如何选择选项,但为了更简洁的代码,您最好使用this topic 中提到的选项数组。

【讨论】:

试过了,仍然没有错误或不工作,但在表单中 'subDomainSuffix') == "value1") 显示为红色.. 请问“subDomainSuffix”的验证规则是什么? 是的,它是 'subDomainSuffix' => 'required', 它给出,string(9) "test.site"

以上是关于选择字段旧值无法在 laravel 中显示的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 在循环输入字段中获取旧值

laravel 5.3 - 在刀片模板中显示来自 mysql 文本字段的 json 数据

如何在blade.php中使用vue获取字段的旧值

如何在刀片 laravel 8 中获取选择输入的旧值?

Laravel 8.65 验证错误消息和旧值未显示在 Blade 文件中

html Laravel表单选择旧值+ db示例