微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 验证字段 X 如果字段 Y == "something"

如何解决Laravel 验证字段 X 如果字段 Y == "something"

我在 Laravel 中有一个表单,我需要有关字段验证的帮助。 该表单有 3 个文本字段和 1 个下拉按钮。 现在,只有当下拉列表设置为特定值时,才需要 3 个文本字段中的 2 个。

这是我的 3 个文本字段和下拉按钮代码

<textarea class="form-control w-100 flex-fill instructions" id="instructions-1" name="instructions[]" rows="4" placeholder="Instructions"></textarea>
<button class="btn btn-secondary btn-md bg-white dropdown-toggle" type="button" data-toggle="dropdown" name="button[]" id="button-1" aria-haspopup="true" aria-expanded="false">Model</button>
<div class="dropdown-menu" aria-labelledby="button-1"><a class="dropdown-item" id="dropdown-item-model-1" href="#">Model</a><a class="dropdown-item" id="dropdown-item-engenius-1" href="#">Engenius</a>
<input type="text" class="text-body px-2 py-1 text" name="model[]" id="model-1" value="" placeholder="Enter Model" />
<input type="text" class="text-body px-2 py-1 text" name="pincode[]" id="pincode-1" value="" placeholder="Enter Pincode" />

这是我的验证码:

$validated = $request->validate([
        'button.*' => 'required','instructions.*' => 'required|min:5','model.*' => 'required_if:button.*,Model|min:5','pincode.*' => 'required_if:button.*,]);

仅当下拉按钮具有值模型时,我才需要验证模型和密码文本字段。 请帮忙。

解决方法

我能够找出问题所在。 我试图使用输入类型按钮的值进行验证,但表单帖子不会发送按钮的值。 所以我添加了一个隐藏的文本字段来保存下拉的值。 这样,我才能够检查我的下拉菜单是否是模型,然后才需要文本字段模型和密码。

以下是我的更新 HTML 代码:

textarea class="form-control w-100 flex-fill instructions" id="instructions-1" name="instructions[]" rows="4" placeholder="Instructions"></textarea>
<button class="btn btn-secondary btn-md bg-white dropdown-toggle" type="button" data-toggle="dropdown" name="button[]" id="button-1" aria-haspopup="true" aria-expanded="false">Model</button>
<input type="hidden" name="job_type[]" id="job_type-1" value="Model" />
<div class="dropdown-menu" aria-labelledby="button-1"><a class="dropdown-item" id="dropdown-item-model-1" href="#">Model</a><a class="dropdown-item" id="dropdown-item-engenius-1" href="#">Engenius</a>
<input type="text" class="text-body px-2 py-1 text" name="model[]" id="model-1" value="" placeholder="Enter Model" />
<input type="text" class="text-body px-2 py-1 text" name="pincode[]" id="pincode-1" value="" placeholder="Enter Pincode" />

这是我更新的验证码:

    $validated = $request->validate([
        'job_type.*' => 'required','instructions.*' => 'required|min:5','model.*' => 'required_if:job_type.*,Model','pincode.*' => 'required_if:job_type.*,]);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?