【问题标题】:Laravel: Do validation upon two separate conditionsLaravel:在两个不同的条件下进行验证
【发布时间】:2017-06-15 14:40:10
【问题描述】:

我的 html 表单中有一个表格,用户可以随意添加任意数量的行。在表格下方,我有一个复选框,选中后表示用户没有输入。

我在 Laravel 中有一堆输入,它们位于一个数组中(因此它可以命名 [0] 和命名 [1] 或只是命名 [0],具体取决于用户添加的行数)。我还有一个复选框,它使我的所有输入都消失了,如果用户选中它,我不想填写任何必填字段。

我目前的规则是:

[
        'TB1_course.*' => 'required_if:TB1_checkbox, 0|required_with:TB1_section.*,TB1_session.*,TB1_reqElec.*',
        'TB1_section.*' => 'required_if:TB1_checkbox, 0|alpha_num',
        'TB1_session.*' => 'required_if:TB1_checkbox, 0'
]

需要我的验证规则:

(1) 如果用户选中该复选框,我希望在整个表格中不需要任何字段(无论这些输入是否为空)

(2) 如果用户没有选中复选框并将一行完全留空(即 TB1_course[0]、TB1_section[0] 和 TB_session[0] 为空或提供 TB1_course[0]、TB1_section[0]) , TB1_session[0] 但将 TB1_course[1]、TB1_section[1] 和 TB1_session[1] 留空),输入有效

(3) 如果用户没有选择复选框,并且在同一行上也提供了缺失的信息(即 TB1_course[0] 不为空,但 TB1_section[0] 和 TB1_session[0] 为空),使其无效

我不确定如何解决这个问题,因为我还必须担心索引。我是验证的初学者,所以如果我问一个非常基本的问题,请原谅。任何帮助是极大的赞赏。

【问题讨论】:

    标签: laravel validation laravel-5 laravel-5.2 laravel-5.3


    【解决方案1】:

    您的输入应该应用 required_without:checkbox 规则,而复选框应该应用 required_without_all:input1,input2,... 规则。然后,您可以对输入使用 required_unless 规则,以根据您在上面列出的指南检查有效性。

    【讨论】:

    • 类似'TB1_course.*' =>required_without:TB1_checkbox|required_unless?然后:TB1_checkbox=>'required_without_all:TB1_course.*, TB1_section.*, TB1_session.*'?
    • 是的,听上去你会有很多规则,但它是可以实现的。
    • 难道 required_without 不会让它总是需要每个输入吗?
    • 是的,但一个技巧是让它们可以为空,这样就不会传入任何真实数据。
    • 这行得通吗? [ 'TB1_course.*' => 'required_without:TB1_checkbox|required_with_all:TB1_section.*,TB1_session.*|nullable', 'TB1_section.*' => 'required_without:TB1_checkbox|alpha_num|required_with_all:TB1_course.*,TB1_session.*|nullable', 'TB1_session.*' => 'required_without:TB1_checkbox|required_with_all:TB1_section.*,TB1_course.*|nullable', 'TB1_checkbox' => 'required_without: TB1_course.*, TB1_section.*, TB1_session.*' ] 但这也能满足我的验证要求#2 吗?
    猜你喜欢
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 2018-09-26
    • 2016-05-23
    相关资源
    最近更新 更多