繁体   English   中英

验证Laravel中多个用户生成的标签

[英]Validating multiple user generated tags in Laravel

在我的网站上,我允许用户上传图像。 除了这些图像,用户还可以向图像添加标签。

小提琴演示在这里找到: https : //jsfiddle.net/cn9nqfj3/4/

但是,我有两个问题。

首先,我如何才能像其他请求一样通过它?

例如,在控制器的验证中,我具有:

$this->validate($request, [
    'title' => 'required|max:40|min:2|string',
    'mature' => 'required',
    'categorie' => 'required',
    'description' => 'string|max:2000',
    'fileUpload' => 'required|image',
    'tag' => 'max:20|alpha_num',
]); 

但是标签如何工作?

添加标签时,将生成标记,如下所示:

<span class="tag"><span class="close">×</span>#tag1</span>
<span class="tag"><span class="close">×</span>#tag2</span>

因此我不确定如何将其传递给验证,因为它不是常规的表单元素。

第二个问题是验证如何处理多个标签。

我是否需要像foreach构造这样的东西来检查我是否未超出标签数量限制,然后针对字母数字和诸如此类的内容逐一验证它们?

您将需要输入作为输入数组来输入。

IE <input type="text" name="tag[]">

为此,您必须研究从javascript标签插件中获取信息的方法。 大多数标签插件都为此提供了一种方法,或者会为您生成输入字段。

在Laravel中,您可以验证数组,请参见https://laravel.com/docs/5.3/validation#validating-arrays

您的最后一行是'tag.*' => 'max:20|alpha_num',

或者您可以使用在此laracast系列剧集中讨论的select2插件... https://laracasts.com/series/laravel-5-fundamentals/episodes/24

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM