【问题标题】:Laravel Validating Parent/Child User InputLaravel 验证父/子用户输入
【发布时间】:2017-07-31 13:05:13
【问题描述】:

我在验证阻止用户选择父元素时遇到问题,例如:

  • 选项 1
  • 选项 2
    • 子选项 1
    • 子选项 2
    • 子选项 3
  • 选项 3

如果没有子选项,用户可以选择顶级选项,例如他们可以选择选项 1 和选项 3,但他们不能选择选项,因为他们需要选择子选项之一。

数据库结构为:

id、parent_id、名字

如果选项有父级,则 parent_id 是父级的 id(如果没有,则为 null)。

我目前正在验证该选项是否存在于数据库中,但这显然不会阻止选择顶级选项(如果它们有子选项)。

有什么建议吗?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您的意思是阻止选择中的父项吗?

    你可以在你的模型中创建一个children 函数,这是一个hasMany 关系。如果计数高于 0,则您的项目是可选的。

    或者您可以使用 baum(https://github.com/etrepat/baum) 来检查该项目是否为“离开”(没有孩子的项目)。

    可以使用自定义验证规则 (https://laravel.com/docs/5.4/validation#custom-validation-rules) 对输入进行验证。 只需获取输入,检查是否有孩子并返回真或假。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-08
      • 2018-11-08
      • 2017-09-11
      • 1970-01-01
      相关资源
      最近更新 更多