Я использую Respect Validation. Возможно ли вернуть единую ошибку вместо мешка с ошибками?Respect Validation - Возврат одной ошибки
тока я могу получить первую ошибку, используя следующие:
public function checkUsername(Request $request, Response $response, $args = [])
{
$body = $request->getParsedBody();
$usernameValidator = v::key('username', v::alnum()->length(3, 10));
/*
* Validate the username
*/
try
{
$usernameValidator->assert($_POST);
}
catch(NestedValidationException $e)
{
$errors = $e->findMessages([
'alnum' => 'username must contain only letters and digits',
'length' => 'username must be between 3 and 10 characters',
'required' => 'A valid username is required'
]);
$errors = array_values(array_filter($errors, function($error) {
return !empty($error);
}));
throw new AppException($errors[0]);
}
/*
* Find user by username. If $user is empty no user exists
*/
$user = $this->userRepo->findByUsername($body['username']);
return $response->withJson([
'success' => true,
'data' => [
'username' => $body['username'],
'available' => empty($user)
],
'message' => null
]);
}
Чтобы сделать это каждый раз, когда мне нужно, чтобы проверить собирается получить разочарование.
Я надеюсь, что библиотека проверки имеет метод для возврата одной ошибки. Если нет, мне, вероятно, придется изучить расширение класса, чтобы создать способ сделать то же самое.
Любые идеи?
ли еще можно определить пользовательские сообщения при использовании 'check'? – BugHunterUK