【发布时间】:2019-12-07 15:29:50
【问题描述】:
我知道如何获取选择选项的旧输入,但我遇到了不同语言的问题。
六个选择选项中只有两个不使用@lang('') 进行翻译,对于这两个,old('input') 工作得很好。
这是我的选择列表的示例版本:
<select name="color" class="form-control form-control-sm">
<option value="4c" selected {{ old('color') == "4c" ? "selected" : "" }}>4c</option>
<option value="s/w" {{ old('color') == "@lang('s/w')" ? "selected" : "" }}>@lang('s/w')</option>
<option value="3c" {{ old('color') == "3c" ? "selected" : "" }}>3c</option>
<option value="s/w + rot" {{ old('color') == "@lang('s/w + rot')" ? "selected" : "" }}>@lang('s/w + rot')</option>
<option value="s/w + gelb" {{ old('color') == "@lang('s/w + gelb')" ? "selected" : "" }}>@lang('s/w + gelb')</option>
<option value="s/w + blau" {{ old('color') == "@lang('s/w + blau')" ? "selected" : "" }}>@lang('s/w + blau')</option>
</select>
如您所见,例如“4c”不会被翻译,因为它在英语中具有相同的含义,而“s/w”会在必要时被翻译成“b/w”。
如果我选择“3c”选项并且验证失败,我将选择“3c”作为选定选项。但是当我选择's/w'选项时,例如如果表单验证失败,则所选选项将再次为“4c”(标准)。
有没有办法解决这个问题?
【问题讨论】:
标签: php laravel validation select input