根据另一个输入进行livewire验证



我有一个输入需要根据另一个输入进行验证。我想创建一个课程,需要选择一个教室和参与者的能力。所选教室有自己的容量字段,我的参与者容量输入不能大于教室的容量。如何验证这一点?

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" />

例如,选择的教室只包含5个学生,所以我不能选择参与者容量6。form。class_id保留类的id,因为我需要它。但是我还需要在规则数组中使用->capacity类。

你可以这样做:

protected array $rules = [
'form.class_id' => 'required|integer',
'form.capacity' => 'required|integer|lte:form.class_id',
];

您可以根据您的场景使用这些验证。

  • gt -大于
  • gte -大于等于
  • lt -小于
  • lte小于

相关内容

  • 没有找到相关文章

最新更新