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 */