首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果给定值不是零,就存在Laravel验证。

如果给定值不是零,就存在Laravel验证。
EN

Stack Overflow用户
提问于 2019-08-02 08:11:24
回答 1查看 165关注 0票数 1

这就是我的处境:

假设我的html表单中有一个radio input,只有当用户选中其中一个时,它的值必须存在于表中,否则该值必须是zero

这是我的结构:

代码语言:javascript
复制
<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

--这是我当前对这个字段的验证:

代码语言:javascript
复制
'first_change' => 'required|exists:fc_teams,id',

但我需要这样的东西:

代码语言:javascript
复制
'first_change' => 'required|[IF VALUE IS NOT -0-; THEN]exists:fc_teams,id',
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-02 08:15:30

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

代码语言:javascript
复制
$first_change_validation = [
    'required',
];
if ($request->get('first_change') == 0) {
    $first_change_validation[] = 'exists:fc_teams,id';
}

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

代码语言:javascript
复制
$this->validate($request, [
    'first_change' => $first_change_validation,
]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57322347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档