Ich benutze Respect Validation. Ist es möglich, anstelle eines Fehlers einen einzigen Fehler zurückzugeben?Respect Validation - Einen einzelnen Fehler zurückgeben
Strom kann ich die erste Fehlermeldung erhalten, mit dem folgenden:
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
]);
}
dies ich bestätigen muß jedes Mal tun wird frustrierend bekommen.
Was ich hoffe, ist, dass die Validierungsbibliothek eine Methode zum Zurückgeben eines einzelnen Fehlers hat. Wenn nicht, werde ich wahrscheinlich nach einer Erweiterung der Klasse suchen müssen, um eine Methode zu erstellen, um dasselbe zu tun.
Irgendwelche Ideen?
Ist es noch möglich, benutzerdefinierte Nachrichten zu definieren, wenn 'check' mit? – BugHunterUK