PHP code example of aliziodev / laravel-username-guards
1. Go to this page and download the library: Download aliziodev/laravel-username-guards library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aliziodev / laravel-username-guards example snippets
// Default language
'default_locale' => env('APP_LOCALE', 'en'),
// Supported languages
'supported_locales' => [
'global', // Global words (REQUIRED, applies to all languages)
'en', // English
'id', // Indonesian
// Add other languages as needed
],
// Check all supported languages
'check_all_locales' => env('WORD_FILTER_CHECK_ALL_LOCALES', true),
// Only use default language + global
'preferred_locale_only' => env('WORD_FILTER_PREFERRED_LOCALE_ONLY', false),
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Aliziodev\UsernameGuard\Rules\UsernameRule;
class UpdateUsernameRequest extends FormRequest
{
public function rules(): array
{
return [
'username' => ['
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use App\Http\Requests\UpdateUsernameRequest;
class UsernameController extends Controller
{
/**
* Check username availability using UsernameRule.
*
* @param UpdateUsernameRequest $request
* @return JsonResponse
*/
public function index(UpdateUsernameRequest $request): JsonResponse
{
// If we reach here, validation has passed
return response()->json([
'valid' => true,
'username' => $request->username,
'message' => 'Username is valid and can be used'
]);
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Aliziodev\UsernameGuard\Facades\Username;
class UsernameController extends Controller
{
/**
* Check username availability.
*
* @param Request $request
* @return JsonResponse
*/
public function check(Request $request): JsonResponse
{
$username = $request->get('username');
if (empty($username)) {
return response()->json([
'valid' => false,
'message' => 'Username cannot be empty'
], 422);
}
$isValid = Username::isValid($username);
return response()->json([
'valid' => $isValid,
"username" => $username,
'message' => $isValid ? 'Username is valid and can be used' : 'Username is invalid or contains prohibited words'
]);
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Aliziodev\UsernameGuard\Services\UsernameService;
class CustomUsernameController extends Controller
{
protected $usernameService;
public function __construct(UsernameService $usernameService)
{
$this->usernameService = $usernameService;
}
public function validateUsername(Request $request): JsonResponse
{
$username = $request->get('username');
$type = $request->get('type', 'all'); // 'all', 'pattern', or 'word'
$isValid = false;
// Validate based on type
if ($type === 'pattern') {
$isValid = $this->usernameService->isValid($username, 'pattern');
} elseif ($type === 'word') {
$isValid = $this->usernameService->isValid($username, 'word');
} else {
$isValid = $this->usernameService->isValid($username);
}
// Get error if validation fails
$error = $this->usernameService->getLastError();
$exception = $this->usernameService->getLastException();
return response()->json([
'valid' => $isValid,
'username' => $username,
'error' => $error,
'details' => $exception ? [
'type' => $exception->getValidationType(),
'context' => $exception->getContext()
] : null,
'message' => $isValid ? 'Username is valid' : 'Username is invalid: ' . $error
]);
}
}