我有一个动态生成输入字段的表单,例如:
input['Supplier1],
input['Supplier2'],
input['Supplier3'],
等等。用户可以创建1到10个输入字段之间的任何位置。
我正在使用Laravel的内置验证功能,并且想知道是否有办法用通配符验证字段。
换句话说,不是为'Supplier1','Supplier2'等创建单独的规则,而是可以在'Supplier ^'的位置写一些内容,其中'^'符号代表任何给定的字符。< / p>
目前的规则是:
public function rules()
{
return [
'Description1' => 'required|min:2',
'Supplier1' => 'canBeEmpty|exists:suppliers,SupplierName'
];
}
'canBeEmpty'是一个自定义规则,允许将字段提交为空。
答案 0 :(得分:1)
如果您创建了供应商&#39;输入作为数组的一部分,您可以使用这样的解决方案:https://stackoverflow.com/a/33371994/613703:
按以下方式构建输入:
<input type='text' name='suppliers[]' value='theValue' />
<input type='text' name='suppliers[]' value='theValue' />
etc...
$validator = Validator::make($request->all(), [
'suppliers' => 'array',
// your other rules here
]);
// Here you can set the rules for each Supplier in your Array
$validator->each('suppliers', [
'id' => 'required',
'quantity' => 'min:0',
]);