Правило lt
Правило lt применяется к полям формы
и проверяет, что значение поля меньше указанного числа.
Правило принимает один параметр - число, с которым
сравнивается значение поля. Если значение поля не меньше
указанного числа, валидация проваливается.
Синтаксис
<?php
'field' => 'lt:value'
?>
Пример
Давайте проверим, что возраст пользователя меньше 18 лет:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;
class UserController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'age' => 'lt:18',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
return response()->json(['message' => 'User created successfully']);
}
}
?>
Результат выполнения кода при отправке данных с возрастом 17:
"User created successfully"
Результат выполнения кода при отправке данных с возрастом 18:
{
"age": [
"The age must be less than 18."
]
}
Пример
Давайте проверим, что количество товаров меньше 5:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;
class OrderController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'quantity' => 'lt:5',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
return response()->json(['message' => 'Order created successfully']);
}
}
?>
Использование в FormRequest
Правило lt также можно использовать в классе FormRequest:
<?php
namespace AppHttpRequests;
use IlluminateFoundationHttpFormRequest;
class ProductRequest extends FormRequest
{
public function rules(): array
{
return [
'price' => 'lt:1000',
'weight' => 'lt:50',
];
}
public function messages(): array
{
return [
'price.lt' => 'Цена должна быть меньше 1000',
'weight.lt' => 'Вес должен быть меньше 50 кг',
];
}
}
?>
Сравнение с другой колонкой
Правило lt можно использовать для сравнения
с значением другой колонки:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;
class UserController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'current_quantity' => 'lt:max_quantity',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}
return response()->json(['message' => 'Valid data']);
}
}
?>
Смотрите также
-
правило
gt,
которое проверяет, что значение больше заданного числа -
правило
lte,
которое проверяет, что значение меньше или равно заданному числу -
правило
gte,
которое проверяет, что значение больше или равно заданному числу -
правило
between,
которое проверяет, что значение находится в заданном диапазоне