Laravel 规则验证 - 只有另一个字段有值
Laravel Rules Validation - Only another field has a value
<input type="checkbox" name="grievance_discipline" value="checked">
<select name="grievance_type">
<option value="_none" selected>- Select One</option>
<option value="suspension">Suspension</option>
</select>
<?php
$this->validate($request,[
'grievance_type' => 'required_if:grievance_discipline, checked|not_in:_none',
]);
?>
我 运行 遇到的麻烦是告诉 Laravel 只有在另一个字段有值时才使用特定的验证规则。
在示例中,如果选中 grievance_discipline,则 discipline_type 字段(select 列表)是必需的。
select 列表的默认 select 选项是 - Select 一 - 值为 _none。在验证规则中,_none 应该被丢弃,但它应该只在 grievance_discipline 复选框的值为 'checked'.
时对其进行验证
有人可以帮我解决这个问题吗?
如何将第一个选项设置为禁用,以便用户被迫选择一个值或不提交一个值,从而优雅地通过验证检查。此外,使用 required_with
而不是 required_if
来检查是否存在另一个值。
<input type="checkbox" name="grievance_discipline" value="checked">
<select name="grievance_type">
<option disabled selected value>- Select One</option>
<option value="suspension">Suspension</option>
</select>
然后在PHP中做
$this->validate($request,[
'grievance_type' => 'required_with:grievance_discipline'
]);
<input type="checkbox" name="grievance_discipline" value="checked">
<select name="grievance_type">
<option value="_none" selected>- Select One</option>
<option value="suspension">Suspension</option>
</select>
<?php
$this->validate($request,[
'grievance_type' => 'required_if:grievance_discipline, checked|not_in:_none',
]);
?>
我 运行 遇到的麻烦是告诉 Laravel 只有在另一个字段有值时才使用特定的验证规则。
在示例中,如果选中 grievance_discipline,则 discipline_type 字段(select 列表)是必需的。
select 列表的默认 select 选项是 - Select 一 - 值为 _none。在验证规则中,_none 应该被丢弃,但它应该只在 grievance_discipline 复选框的值为 'checked'.
时对其进行验证有人可以帮我解决这个问题吗?
如何将第一个选项设置为禁用,以便用户被迫选择一个值或不提交一个值,从而优雅地通过验证检查。此外,使用 required_with
而不是 required_if
来检查是否存在另一个值。
<input type="checkbox" name="grievance_discipline" value="checked">
<select name="grievance_type">
<option disabled selected value>- Select One</option>
<option value="suspension">Suspension</option>
</select>
然后在PHP中做
$this->validate($request,[
'grievance_type' => 'required_with:grievance_discipline'
]);