it appears at least part of the problem is running this inside the embedded browser in STS. Running the page through firefox displays the error message when a name is duplicated.
However, I am still not seeing any errors displayed when I submit the form with an empty name field. Should the fieldValidated method be called when the $.postJSON("account", account, function(data) call fails? Is there no automagic binding of errors back to the form? using these defined tags?
<form:label id="nameLabel" for="name" path="name" cssErrorClass="error">Name</form:label><br/>
<form:input path="name" />
<form:errors path="name" />