Для вывода сообщений об ошибках валидации есть помощник представления
formElementErrors.
Достаточно добавить нужные валидаторы для формы, но можно конечно и явно задавать сообщение об ошибке с помощью метода setMessages() элемента формы:
if ($form->isValid()) {
$data = $form->getData($form::VALUES_AS_ARRAY);
$authService = $this->getServiceLocator()->get('AuthenticationService');
$authService->getAdapter()->setIdentity($data['identity'])->setCredential($data['password']);
$result = $authService->authenticate();
if (!$result->isValid()) {
switch ($result->getCode()) {
case $result::FAILURE_IDENTITY_NOT_FOUND :
$form->get('identity')->setMessages(['Неверный логин']);
break;
case $result::FAILURE_CREDENTIAL_INVALID :
$form->get('password')->setMessages(['Неверный пароль']);
break;
default :
$form->get('identity')->setMessages(['Ошибка авторизации']);
break;
}
}
}