我在验证防止用户选择父元素时遇到了问题,例如:
如果没有子选项,用户可以选择顶级选项,例如,他们可以选择选项1和选项3,但是他们不能选择选项,因为他们需要选择其中的一个子选项。
数据库结构是:
id,parent_id,名称
如果该选项有父选项,则parent_id是父选项的id (如果不是null)。
我目前正在验证该选项是否存在于数据库中,但这显然不会阻止在有子选项的情况下选择顶级选项。
有什么建议吗?
发布于 2017-03-10 11:47:48
您的意思是在选择中阻塞父项吗?
您可以在您的模型中创建一个children函数,这是一个hasMany关系。如果计数较高,则0可以选择。
或者您可以使用baum(https://github.com/etrepat/baum)检查该项是否为“请假”(没有子女的项)。
输入的验证可以使用自定义验证规则(https://laravel.com/docs/5.4/validation#custom-validation-rules)来完成。只需获取输入,检查是否有子数据,并返回true或false。
https://stackoverflow.com/questions/42714099
复制相似问题