根据另一个输入进行 livewire 验证
livewire validation according to another input
我有一个输入需要根据另一个输入进行验证。我想创建一节课,需要 select 一个 class 房间和参与者 capacity.chosen class 房间有自己的容量字段,我的参与者容量输入不能大于 class房间的容量。如何验证?
protected array $rules = [
'form.class_id' => 'required|integer',
'form.capacity' => 'required|integer',
];
<select wire:model.defer="form.class_id" id="form.class_id" class="border-gray-300 py-3 px-4 rounded-md shadow-sm mt-1 block w-full">
<option value="null" selected disabled>{{ __('Sınıf Seçin') }}</option>
@foreach($classes as $c)
<option value="{{ $c->id }}">{{ $c->name }} ({{ $c->location->name }})</option>
@endforeach
</select>
<x-jet-input-error for="form.class_id" class="mt-2" />
<input wire:model.defer="form.capacity" type="number" name="form.capacity" id="form.capacity" class="border-gray-300 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 rounded-md shadow-sm mt-1 block w-full">
<x-jet-input-error for="form.capacity" class="mt-2" />
例如 selected clasroom 只有 5 个学生,所以我不能 select 参与者容量 6。并且 form.class_id 保留 class 的 ID,因为我需要它。但我还需要在规则数组中使用 class->capacity。
你可以这样做:
protected array $rules = [
'form.class_id' => 'required|integer',
'form.capacity' => 'required|integer|lte:form.class_id',
];
您可以根据自己的情况使用这些验证。
- gt - 大于
- gte - 大于等于
- lt - 小于
- lte - 小于等于
我有一个输入需要根据另一个输入进行验证。我想创建一节课,需要 select 一个 class 房间和参与者 capacity.chosen class 房间有自己的容量字段,我的参与者容量输入不能大于 class房间的容量。如何验证?
protected array $rules = [
'form.class_id' => 'required|integer',
'form.capacity' => 'required|integer',
];
<select wire:model.defer="form.class_id" id="form.class_id" class="border-gray-300 py-3 px-4 rounded-md shadow-sm mt-1 block w-full">
<option value="null" selected disabled>{{ __('Sınıf Seçin') }}</option>
@foreach($classes as $c)
<option value="{{ $c->id }}">{{ $c->name }} ({{ $c->location->name }})</option>
@endforeach
</select>
<x-jet-input-error for="form.class_id" class="mt-2" />
<input wire:model.defer="form.capacity" type="number" name="form.capacity" id="form.capacity" class="border-gray-300 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 rounded-md shadow-sm mt-1 block w-full">
<x-jet-input-error for="form.capacity" class="mt-2" />
例如 selected clasroom 只有 5 个学生,所以我不能 select 参与者容量 6。并且 form.class_id 保留 class 的 ID,因为我需要它。但我还需要在规则数组中使用 class->capacity。
你可以这样做:
protected array $rules = [
'form.class_id' => 'required|integer',
'form.capacity' => 'required|integer|lte:form.class_id',
];
您可以根据自己的情况使用这些验证。
- gt - 大于
- gte - 大于等于
- lt - 小于
- lte - 小于等于