在laravel-blade

时间:2016-02-11 21:25:45

标签: php laravel blade laravel-blade

我正处于一个经典场景,我希望根据发生错误或不改变css类。如下所示,has-error应该相应地改变。

<div class="form-group has-error">

该项目位于Laravel,我们主要想要在Blade中完成所有工作,我们提出了以下可行的解决方案,但看起来并不美观或直观,所以问题是,有更好的方法吗?

<div class="form-group
@if($errors->has('email'))
        has-error
@endif
        ">

3 个答案:

答案 0 :(得分:12)

尝试if else条件短手代码:

<form class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">

这看起来很整洁。

即使Laravel 5.2身份验证表单也是这样完成的。

答案 1 :(得分:2)

这就是我的所作所为。你也可以这样做:

@if($errors->has('email'))
    <div class="form-group has-error"> 
       //You can also edit classes of other elements 
    </div>
@else
    <div class="form-group"></div>
@endif

答案 2 :(得分:1)

您可以使用数组来存储类名

@php
$formGroupClasses = ['form-group'];

if ($errors->has('email')) {
  $formGroupClasses[] = 'has-error';
}
@endphp

然后将它们内爆以创建一个字符串

<form class="{{ implode(' ', $formGroupClasses) }}">