Laravel проверка поля ввода с подстановочным знаком

У меня есть форма, которая динамически генерирует поля ввода, например:

input['Supplier1],
input['Supplier2'],
input['Supplier3'],

и так далее. Пользователь может создать от 1 до 10 таких полей ввода.

Я использую встроенную функцию проверки Laravel, и мне было интересно, есть ли способ проверить поле с помощью подстановочного знака.

Другими словами, вместо создания отдельных правил для «Поставщик1», «Поставщик2» и т. д. можно написать что-то вроде «Поставщик^», где символ «^» представляет любой заданный символ.

На данный момент правила такие:

public function rules()
{
    return [
        'Description1' => 'required|min:2',
        'Supplier1' => 'canBeEmpty|exists:suppliers,SupplierName'
    ];
}

«canBeEmpty» — это пользовательское правило, позволяющее отправлять поле пустым.


person M Polak    schedule 15.11.2015    source источник
comment
Валидатор Laravel с подстановочным знаком   -  person LF00    schedule 16.06.2017


Ответы (1)


Если вы создали входные данные «поставщика» как часть массива, вы можете использовать такое решение: 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', 
]);
person djt    schedule 15.11.2015