Laravel представив метод appliedRules() для конструктора валідації паролів. Це спрощує створення індикаторів вимог до паролів, адже дозволяє безпосередньо отримувати доступ до правил валідації для відображення у ваших шаблонах
Коли ви розробляєте форми реєстрації чи відновлення пароля, чітке доведення вимог до пароля значно покращує досвід користувачів. Раніше розробникам доводилося підтримувати ці вимоги окремо в правилах валідації та у вигляді. Новий метод appliedRules() усуває цю надмірність, надаючи прямий доступ до всіх активних правил паролів:
// У вашому контролері
return view('auth.register', [
'appliedRules' => Password::default()->appliedRules(),
]);
Метод повертає масив, що містить усі доступні правила паролів та їхній поточний статус (true, якщо застосовано, false або конкретне значення — якщо ні)
Цей підхід особливо корисний для створення динамічних списків вимог до паролів, які автоматично синхронізуються з логікою валідації:
// У AppServiceProvider або в іншому сервісному провайдері
Password::defaults(function () {
return Password::min(10)
->letters()
->mixedCase()
->numbers();
});
// У вашому контролері
class AccountController extends Controller
{
public function showPasswordForm()
{
return view('account.password', [
'appliedRules' => Password::default()->appliedRules(),
]);
}
}
У вашому шаблоні Blade ви можете динамічно відображати ці вимоги:
<div class="password-requirements">
<h4>Ваш пароль має відповідати таким вимогам:</h4>
<ul>
<li class="{{ $appliedRules['min'] ? 'requirement-active' : 'requirement-inactive' }}">
Містить не менше {{ $appliedRules['min'] }} символів
</li>
@if ($appliedRules['letters'])
<li>Включає літери</li>
@endif
@if ($appliedRules['mixedCase'])
<li>Містить великі та малі літери</li>
@endif
@if ($appliedRules['numbers'])
<li>Включає щонайменше одну цифру</li>
@endif
@if ($appliedRules['symbols'])
<li>Містить хоча б один спеціальний символ</li>
@endif
</ul>
</div>
Метод appliedRules() створює більш узгоджений користувацький досвід, адже елементи інтерфейсу точно відображають актуальні вимоги до валідації, що зменшує розчарування користувачів та запити до служби підтримки, пов'язані зі створенням паролів