Я хочу разрешить пользователю создавать папку на локальном диске. Таким образом, форма, отправляемая на сервер, довольно проста и имеет три атрибута:
- имя новой папки - это имя создаваемой папки,
- относительный путь - путь к каталогу, внутри которого должен быть создан новый каталог относительно корневого каталога asset и
- asset_id - идентификатор актива , мне нужен этот идентификатор, чтобы получить корневой каталог актива .
Дело в том, что когда я проверяю эти атрибуты, мне нужно также проверить, существует ли папка, которую пользователь собирается создать, уже существует. Для этого я создал правило под названием FolderExists
. Итак, перед тем, как запустить FolderExists
, я должен убедиться, что все остальные правила прошли успешно, потому что мое пользовательское правило должно принимать относительный путь и asset_id , чтобы можно было построить путь проверить.
Вот моя rules()
функция, я делаю проверку в пользовательском запросе формы:
public function rules()
{
return [
'asset_id' => ['bail', 'required', 'exists:assets,id'],
'relative-path' => ['bail', 'required', 'string'],
'new-folder-name' => ['bail', 'required', 'string', 'min:3', new FolderName, new FolderExists($this->input('asset_id'), $this->input('relative-path')]
];
}
Итак, мой вопрос:
Можно ли добавить FolderExists
, только если все остальные правила проверки пройдены?
Или, возможно, можно остановить всю проверку, когда валидатор обнаружит первую ошибку?
Оба варианта должны быть в порядке.
Спасибо!