(1) List up errors if ( $form -> isValid () ) { // ... } else { // get a ConstraintViolationList $errors = $this -> get ( 'validator' )-> validate ( $user ); $result = '' ; // iterate on it foreach ( $errors as $error ) { // Do stuff with: // $error->getPropertyPath() : the field that caused the error // $error->getMessage() : the error message } } (2) Frontend $ . extend ({ ajaxData : function ($button , options) { var defaultOptions = { type : 'POST' , beforeSend : function () { $button. prop ( 'disabled' , true ) ; } , complete : function () { $button. prop ( 'disabled' , false ) ; } , success : function (data) { window . location . reload () ; } , error : function (xhr) { if...