我正在使用laravel 5.5
和laravel 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.
所以不那么好。
是否有任何技巧或更好的方法可以继续? 或者,拥有空格只是一种不好的做法?
点字符.
也会发生这种情况,在验证过程中它会被_
替换。
答案 0 :(得分:2)
使用空格是不好的做法,但这不是错误。
您可以解决更改错误消息输出的问题。
在语言文件中指定自定义属性
如果您希望将验证消息的:attribute 部分替换为自定义属性名称,则可以在resources / lang / xx / validation的attributes数组中指定自定义名称.php语言文件:
'attributes' => [
'email' => 'email address',
],
在你的情况下
'attributes' => [
'Are_you_happy' => 'are you happy',
],