Правило accepted
Правило accepted используется для проверки того, что поле содержит значение, обозначающее согласие пользователя. Данное правило применяется для подтверждения согласия с условиями использования, принятия политики конфиденциальности или других подобных случаев. Правило считается успешным, если значение поля равно 'yes', 'on', 1, '1', 'true' или 'accepted'.
Синтаксис
Правило указывается в массиве правил валидации без дополнительных параметров:
<?php
$rules = [
'terms' => 'accepted'
];
?>
Пример
Проверим, что пользователь согласился с условиями использования:
<?php
use Illuminate\Support\Facades\Validator;
$data = [
'terms' => 'yes'
];
$rules = [
'terms' => 'accepted'
];
$validator = Validator::make($data, $rules);
if ($validator->fails()) {
echo "Validation failed";
} else {
echo "Validation passed";
}
?>
Результат выполнения кода:
"Validation passed"
Пример
Проверим, что поле с отметкой о согласии на получение рассылки содержит допустимое значение:
<?php
use Illuminate\Support\Facades\Validator;
$data = [
'newsletter' => 'off'
];
$rules = [
'newsletter' => 'accepted'
];
$validator = Validator::make($data, $rules);
if ($validator->fails()) {
$errors = $validator->errors()->all();
echo "Validation failed: " . $errors[0];
} else {
echo "Validation passed";
}
?>
Результат выполнения кода:
"Validation failed: The newsletter field must be accepted."
Пример
Проверим несколько полей на согласие в одном запросе:
<?php
namespace AppHttpControllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller
{
public function register(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string',
'email' => 'required|email',
'terms' => 'accepted',
'privacy' => 'accepted'
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
$res = [
'status' => 'User registered successfully'
];
return response()->json($res);
}
}
?>
Смотрите также
-
правило
required,
которое проверяет наличие поля в запросе -
правило
declined,
которое проверяет отказ от согласия -
правило
boolean,
которое проверяет, что поле имеет логическое значение -
правило
required_if,
которое делает поле обязательным при выполнении условия