Laravel Form返回旧值

时间:2018-04-17 09:21:16

标签: php forms laravel laravel-5

我正在使用laravel 5.5laravel collective来构建我的表单。

在验证期间,为了管理错误并放回旧值,我正在使用这种代码:

<div class="@if ($errors->has( $question->title )) has-error @endif">
    {!! Form::label($question->title, $question->title) !!}
    {!! Form::text($question->title, null, ['class' => 'form-control']) !!}
    @if ($errors->has($question->title)) <p class="help-block">{{ $errors->first($question->title) }}</p> @endif
</div>

一切都运作良好。但我遇到的问题是我的name属性包含空格。

显示页面时,我的name属性已通过示例Are you happy?

以空格写得很好

但是验证返回错误提到Are_you_happy?因此不会返回旧值,并且由于_而未显示错误消息。

我正在考虑使用正则表达式来“清理”表单中的值,但错误消息仍然是The Are_you_happy? field is required.所以不那么好。

是否有任何技巧或更好的方法可以继续? 或者,拥有空格只是一种不好的做法?

更多信息

点字符.也会发生这种情况,在验证过程中它会被_替换。

1 个答案:

答案 0 :(得分:2)

使用空格是不好的做法,但这不是错误。

您可以解决更改错误消息输出的问题。

来自documentation

在语言文件中指定自定义属性

如果您希望将验证消息的:attribute 部分替换为自定义属性名称,则可以在resources / lang / xx / validation的attributes数组中指定自定义名称.php语言文件:

'attributes' => [
    'email' => 'email address',
],

在你的情况下

 'attributes' => [
        'Are_you_happy' => 'are you happy',
    ],