我正在使用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'
在此之前,它决定了值,但现在它在加载和等待后添加任何字符串。
您可以添加regex
验证规则,如下所述。我没有测试所有的案例,但对于你提供的案例,这应该可以完成任务:
loadingwaiting' => ['required', 'string', 'regex:^(loading|waiting)/.+$']
请注意,您应该使用验证规则的数组表示,因为regex模式中包含|
,这会导致它中断。
正则表达式将匹配以加载或等待((loading|waiting)
(开头的任何字符串,该字符串的后面紧跟一个斜线(/
,注意转义(,以及任何字符中的一个或多个(.+
(。