我正在使用laravel,希望在用户提交数据时添加一条规则。我需要检查该值,如果一切正常,那么它将存储在数据库中。当用户提交文本框的值时,它将仅匹配2个值,如果有误,则给我错误消息。它只会匹配
正在加载并等待。例如用户将传递诸如loading / aba,loading / ppp或waiting / sss,waiting / asd1456之类的值。这是正确的,并存储在数据库中。
如果用户通过了sasd / asdasd,564564/45646546,asdasd / asasas,则会出现错误。
仅检查正在加载并等待。我已添加以下规则,但在加载并等待后使用添加任何字符串。
'loadingwaiting' => 'required|string|in:loading/abcd,loading/qwer,loading/erty,loading/asdf,waiting/eee,waiting/rty,waiting/wes,waiting/dfc,waiting/asd'
在确定值之前,但现在在加载并等待之后添加任何字符串。
答案 0 :(得分:0)
您可以添加regex
验证规则,如here所述。我没有对所有情况进行测试,但是对于您提供的情况,这应该可以完成工作:
loadingwaiting' => ['required', 'string', 'regex:^(loading|waiting)\/.+$']
请注意,您应使用验证规则的数组表示形式,因为正则表达式模式中包含|
,这将导致其中断。
regex表达式将匹配以加载或等待((loading|waiting)
开头的任何字符串,该字符串紧接(\/
之后的斜杠,注意转义),以及一个或多个任意字符({ {1}})。