Maison  >  Questions et réponses  >  le corps du texte

Laravel Blade définit le ternaire si la valeur est en entrée

J'ai un modèle qui change le style si l'entrée a l'attribut "value", même si elle est vide.

Par exemple :

<input type="text" class="form-control" name="name" id="name" value="">

Le modèle est différent de celui-ci :

<input type="text" class="form-control" name="name" id="name">

Je dois donc utiliser un if ternaire pour vérifier si la valeur est définie.

J'ai écrit ce code :

<input type="text" class="form-control" name="name" id="name" {{ (isset($category) ? ("value='".$category->name."'") : "") }}>

Mais quand je lance la page et que je définis $category 变量时,我在输入中发现如下值:'Category

J'ai vérifié le code généré et je peux trouver ceci :

<input type="text" class="form-control" name="name" id="name" value="'Category" a="" name&#039;="">

Mais la valeur en DB est 类别名称.

Pouvez-vous m'aider à comprendre le problème ?

P粉322106755P粉322106755188 Il y a quelques jours362

répondre à tous(2)je répondrai

  • P粉947296325

    P粉9472963252024-03-20 15:07:16

    Vous avez juste besoin de faire ceci ;

    répondre
    0
  • P粉978742405

    P粉9787424052024-03-20 10:21:38

    Je ne pense pas que l'opérateur ternaire soit nécessaire dans ce cas car vous ne ferez rien en cas de résultat conditionnel false .

    Vous pouvez simplement utiliser @if : 

    @if (isset($category)) value="{{$category->name}}" @endif

    De plus, il existe une directive @isset, il serait donc peut-être plus approprié de faire ceci :

    @isset($category) value="{{$category->name}}" @endisset

    Dans votre contribution


    Référence : Blade Command If Statement.

    répondre
    0
  • Annulerrépondre