1

这是我的情况:

假设我的radio inputhtml 表单中有一个它的值必须仅存在于表中,如果用户检查其中一个,否则该值必须是zero

这是我的结构:

<div class="inputGroup">
    <input id="first_change1" name="first_change" type="radio" value="{{ $game->teamOne->id }}" {{ old('first_change') == $game->teamOne->id ? 'checked="checked"' : '' }} />
    <label for="first_change1" class="farsi">{{ $game->teamOne->name }}</label>
</div>
<div class="inputGroup">
    <input id="first_change2" name="first_change" type="radio" value="{{ $game->teamTwo->id }}" {{ old('first_change') == $game->teamTwo->id ? 'checked="checked"' : '' }} />
    <label for="first_change2" class="farsi">{{ $game->teamTwo->name }}</label>
</div>
<div class="inputGroup">
    <input id="first_change3" name="first_change" type="radio" value="0" {{ old('first_change') == "0" ? 'checked="checked"' : '' }} />
    <label for="first_change3" class="farsi">None of them</label>
</div>
@if( $errors->has('first_change'))
    <h6 class="alert alert-danger farsi text-danger rtl text-right">
        {{ $errors->first('first_change') }} <i class="fa fa-2x fa-arrow-up fleft" style="bottom: 5px !important;"></i>
    </h6>
@endif

这是我目前对该领域的验证:

'first_change' => 'required|exists:fc_teams,id',

但我需要这样的东西:

'first_change' => 'required|[IF VALUE IS NOT -0-; THEN]exists:fc_teams,id',
4

1 回答 1

2

您可以有条件地构建您的验证:

$first_change_validation = [
    'required',
];
if ($request->get('first_change') == 0) {
    $first_change_validation[] = 'exists:fc_teams,id';
}

然后在您的验证中使用这个数组:

$this->validate($request, [
    'first_change' => $first_change_validation,
]);
于 2019-08-02T08:15:30.320 回答