在 laravel-blade 中生成动态 css 类


Generate dynamic css classes in laravel-blade

我处于一个经典的场景中,我希望根据是否发生错误或不更改 css 类。如下所示,哪里有错误应该相应地改变。

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

该项目在 Laravel,到目前为止,我们主要想在Blade中完成所有工作,我们想出了以下解决方案,该解决方案有效,但看起来根本不漂亮或直观,所以问题是,有没有更优化的方法做到这一点?

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

试试 if else 条件简写代码:

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

这似乎很整洁。

甚至 Laravel 5.2 身份验证表单也是以这种方式完成的。

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

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

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

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

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

@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