Laravel 复选框验证(O 或 1)
Laravel checkbox validation (O or 1)
我在这里验证一个复选框,用户必须 select 只有一个。
<label class="col-md-3 control-label" for="checkboxes">Can Resume </label>
<div class="col-md-4">
<label class="checkbox-inline" for="checkboxes-0">
<input type="checkbox" name="canRes[]" id="checkboxes-0" value="1">
Yes
</label>
<label class="checkbox-inline" for="checkboxes-1">
<input type="checkbox" name="cannotRes[]" id="checkboxes-1" value="0">
No
</label>
</div>
在服务器端,我正在验证控制器方法:
$validator = Validator::make(Input::get(),
[
'canRes' => 'required',
'cannotRes' => 'required'
]);
验证失败,因为一个被选中,另一个是required
我想要一个被选中。 cannotRes
或 canRes
.
我怎样才能做到这一点?
您可以使用验证方法required_without_all
$validator = Validator::make(Input::get(),
[
'canRes' => 'required_without_all:cannotResume',
'cannotRes' => 'required_without_all:canResume'
]);
希望对您有所帮助。
对于您的方案,您需要为两者使用相同的名称 checkbox
。你可以试试这个:
<label class="col-md-3 control-label" for="checkboxes">Can Resume </label>
<div class="col-md-4">
<label class="checkbox-inline" for="checkboxes-0">
<input type="checkbox" name="canRes" id="checkboxes-0" value="1">
Yes
</label>
<label class="checkbox-inline" for="checkboxes-1">
<input type="checkbox" name="canRes" id="checkboxes-1" value="0">
No
</label>
</div>
在你的验证函数中你应该使用这条规则:
$validator = Validator::make($request->all(),
[
'canRes' => 'required',
]);
我在这里验证一个复选框,用户必须 select 只有一个。
<label class="col-md-3 control-label" for="checkboxes">Can Resume </label>
<div class="col-md-4">
<label class="checkbox-inline" for="checkboxes-0">
<input type="checkbox" name="canRes[]" id="checkboxes-0" value="1">
Yes
</label>
<label class="checkbox-inline" for="checkboxes-1">
<input type="checkbox" name="cannotRes[]" id="checkboxes-1" value="0">
No
</label>
</div>
在服务器端,我正在验证控制器方法:
$validator = Validator::make(Input::get(),
[
'canRes' => 'required',
'cannotRes' => 'required'
]);
验证失败,因为一个被选中,另一个是required
我想要一个被选中。 cannotRes
或 canRes
.
我怎样才能做到这一点?
您可以使用验证方法required_without_all
$validator = Validator::make(Input::get(),
[
'canRes' => 'required_without_all:cannotResume',
'cannotRes' => 'required_without_all:canResume'
]);
希望对您有所帮助。
对于您的方案,您需要为两者使用相同的名称 checkbox
。你可以试试这个:
<label class="col-md-3 control-label" for="checkboxes">Can Resume </label>
<div class="col-md-4">
<label class="checkbox-inline" for="checkboxes-0">
<input type="checkbox" name="canRes" id="checkboxes-0" value="1">
Yes
</label>
<label class="checkbox-inline" for="checkboxes-1">
<input type="checkbox" name="canRes" id="checkboxes-1" value="0">
No
</label>
</div>
在你的验证函数中你应该使用这条规则:
$validator = Validator::make($request->all(),
[
'canRes' => 'required',
]);