Formularz – błędy

Usuwa żółte tła:

// w Form->control()
   'class' => 'form-control' . ($user->hasErrors('tel') ? ' is-invalid' : ''),
  'error' => false, // wyłącza auto-błąd CakePHP
  'templates' => [
    'inputContainerError' => '<div class="mb-0">{{content}}</div>', // usuwa żółte tło
  ],

Komunikaty pod każdym polem:

<?php if ($user->hasErrors('tel')): ?> 
    <div class="invalid-feedback d-block"> 
    <?= h(implode(', ', $user->getError('tel'))) ?> </div> 
<?php endif ?>

Usuwanie żółtego tła i automatycznych komunikatów o błędach – ustawienie globalne – po create() – wpływa na wszystkie kontrolki

<?= $this->Form->create($user, ['url' => ['action' => 'register']]) ?>

<?php
  // Wyłącz żółte tło błędów globalnie dla całego formularza
  $this->Form->setTemplates([
    'inputContainerError' => '<div class="{{type}}">{{content}}</div>',
    'error' => '', // wyłącza auto-renderowanie błędów
    'errorList' => '',
    'errorItem' => '',
  ]);
?>
'class' => 'form-control' . ($user->hasErrors('tel') ? ' is-invalid' : ''),

Wyłącza walidację formularza:

<?= $this->Form->create($user, [
      'url' => ['action' => 'register'],
      'novalidate' => true, // <- dodaj to
]) ?>

Nie pokazuj błędów HTML5 dopóki użytkownik nie próbował wysłać formularza

input:invalid {
  box-shadow: none;
  border-color: inherit;
}

/* Bootstrap .was-validated pokazuje błędy dopiero po submit */