Laravel 需要,如果

Laravel required if

如果选择选项 VK,我有显示的字段。

<select id="contact" name="contact" type="text">
    <option disabled selected value="sas">sas</option>
    <option value="VK">VK</option>
    <option value="Viber">Viber</option>
    <option value="WhatsApp">WhatsApp</option>
</select>

<input class="musician_input_div form_control" 
    id="contact_method_vk" name="contact_method_vk" 
       placeholder="id" style="display:none;" type="text" type="text"/>

该字段是必填字段,如果我选择 viber,该字段将被隐藏,表单将不会发送。如何调整验证器?

$this->validate($request, [
//(if option VK is selected){
    'contact' => 'required',
}
]);

如果我正确理解你的问题。你需要做的就是这样。

$this->validate($request, [
          'contact_method_vk' => 'required_if:contact,VK'
]);

这将使 contact_method_vk 在选择 VK 时是必需的。

注:关于required_if的一些解释。 required_if:anotherfield,value: 如果另一个字段等于值,则验证字段必须存在且不能为空。