将 Form::text 和错误检查合二为一?
Combine Form::text and error check into one?
在 blade 视图文件中,我有这样的东西:
{{ Form::text('contact_name', null, ['class' => 'form-control']) }}
@if ($errors->has('contact_name'))
<div class="error-block">{{ $errors->first('contact_name') }}</div>
@endif
{{ Form::text('contact_email', null, ['class' => 'form-control']) }}
@if ($errors->has('contact_email'))
<div class="error-block">{{ $errors->first('contact_email') }}</div>
@endif
当用户按下提交时,它将检查控制器中的输入验证。但是,如果验证出现错误,它将重定向回表单并使用错误消息填充它 {{ $errors->first() }}
有没有办法在视图文件中排除 {{ $errors->first() }}
并且在验证失败时仍然显示错误消息?那么将 Form::text
和 $errors->has
组合成一个函数或类似的东西?
使用 Form Macro 来做到这一点
Form::macro('myText', function($field)
{
$string = Form::text($field, null, ['class' => 'form-control']);
if ($errors->has($field)) {
$string .= $errors->first($field);
}
return $string;
});
那么在你看来
{{ Form::myText('contact_email') }}
在 blade 视图文件中,我有这样的东西:
{{ Form::text('contact_name', null, ['class' => 'form-control']) }}
@if ($errors->has('contact_name'))
<div class="error-block">{{ $errors->first('contact_name') }}</div>
@endif
{{ Form::text('contact_email', null, ['class' => 'form-control']) }}
@if ($errors->has('contact_email'))
<div class="error-block">{{ $errors->first('contact_email') }}</div>
@endif
当用户按下提交时,它将检查控制器中的输入验证。但是,如果验证出现错误,它将重定向回表单并使用错误消息填充它 {{ $errors->first() }}
有没有办法在视图文件中排除 {{ $errors->first() }}
并且在验证失败时仍然显示错误消息?那么将 Form::text
和 $errors->has
组合成一个函数或类似的东西?
使用 Form Macro 来做到这一点
Form::macro('myText', function($field)
{
$string = Form::text($field, null, ['class' => 'form-control']);
if ($errors->has($field)) {
$string .= $errors->first($field);
}
return $string;
});
那么在你看来
{{ Form::myText('contact_email') }}