Я исхожу из фона codeigniter (я знаю немного просрочен), и у меня есть небольшая проблема при создании правил проверки правильности формы в Laravel 5.2. Многие из проверок, которые я проверил, предложили сделать это в файле маршрута и настроить файл запроса и т. Д., Но я все еще запутался.Laravel 5 custom form validation
Моя потребность очень проста.
У меня есть категории товаров, которые имеют подкатегории. Для каждой категории товаров должна существовать подкатегория по умолчанию. Итак, при создании подкатегорий у меня есть галочка, спрашивающая, является ли эта подкатегория стандартной категорией.
Мне нужен валидатор формы, чтобы вызвать ложь во время проверки формы в процессе создания подкатегории, если уже выбранная подкатегория была выбрана в качестве подкатегории по умолчанию для этой категории.
Ниже приведена часть моего кода, содержащего раздел проверки формы.
$attributeNames = array(
'category_id' => 'UOM Category Name',
'sub_category_name' => 'Sub Category Name',
'is_default' => 'Default'
);
$validator = Validator::make($request->all(), [
'category_id' => 'required',
'sub_category_name' => 'required|unique:sub_categories,sub_category_name',
'is_default' => 'required', //POSSIBLE TRIGGER GOES HERE. In CI the a custom function name went here
]);
$validator->setAttributeNames($attributeNames);
if ($validator->fails()) {
$response = new Response();
return $response->setStatusCode(400, $validator->errors());
} else {
//proceed with store
}
Извините, что плохой английский. Кроме того, я видел, что проверка формы выполняется на FormRequest. Это лучшая практика?
Чтобы уточнить, вы спрашиваете, как вы можете подтвердить, что новая подкатегория уже существует по умолчанию для категории? Только одна подкатегория по умолчанию для основной категории? Например, если подкатегория1 уже по умолчанию для maincategory1, но 'is_default' отмечен для новой подкатегории2, вы хотите, чтобы она завершилась неудачей? – Winter
Привет, Да, это точно мой сценарий –