mrzgt: ну я так понимаю в массиве 'error' будет лежать ошибка по каждому полю, если что то не так. Да все верно, только не понятно зачем .show(); в блоке else. Ну и хорошо бы проверить еще что есть такой объект 'error' в ответе и 'firstname'. А еще лучше менять содержимое заготовленного span и скрывать/показывать его, изначально держа скрытым