编程语言
首页 > 编程语言> > php – Laravel 5.7使用星号验证字段,required_if

php – Laravel 5.7使用星号验证字段,required_if

作者:互联网

我有一个Vue表单,可以让用户为该配置文件添加工作体验.
用户可以通过单击按钮添加额外的体验.单击它将添加带有新输入字段的新项目.我无法添加整个脚本,因为它已经退出了.但这是一个给你一个想法的例子:

<div class="item">
    <div class="row">
        <div class="form-group col-md-6">
            <label class="form-label">Title</label>
            <input type="text" name="experiences[0][title]" class="form-control">
        </div>
        <div class="form-group col-md-6">
            <label class="form-label">Institution</label>
            <input type="text" name="experiences[0][institution]" class="form-control">
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <textarea name="experiences[0][comments]" class="form-control"></textarea>
        </div>
    </div>
</div>
<div class="item">
    <div class="row">
        <div class="form-group col-md-6">
            <label class="form-label">Title </label>
            <input type="text" name="experiences[1][title]" class="form-control">
        </div>
        <div class="form-group col-md-6">
            <label class="form-label">institution </label>
            <input type="text" name="experiences[1][institution]" class="form-control">
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <textarea name="experiences[1][comments]" class="form-control"></textarea>
        </div>
    </div>
</div>

每个元素后面都有一个添加新行的按钮.这工作正常,但我有一些验证问题.
我只想在其中一个字段有值的情况下验证字段.例如:
如果经验[0] [机构]具有值,则需要经验[0] [标题]和经验[0] [注释].
这必须适用于每个订单.如果title有值,则需要其他字段.
我真的无法找到如何验证这一点的方法.这是我的验证规则:

$this->validate(request(), [
        'experiences.*.title'       => 'required_if:experiences.*.institution,null',
        'experiences.*.institution' => 'required_if:experiences.*.title,null',
]);

这里的问题是它根本不验证.我无法弄清楚如何制定一条规则,如果字段X有一个值,则需要Y和Z.

希望这里的任何人都可以帮我找到解决方案!

标签:php,laravel,vue-js,laravel-5-7
来源: https://codeday.me/bug/20190607/1193769.html