по разметку я уже, чтоб не городить новых огородов, старался сделать близко к коммерсу (там уже привыкли) - у формы есть data-evocms-user-action, по которому она и определяется. Внутри формы есть поля с data-error-fieldname, куда автоматом разлетаются ошибки, плюс общее поле data-error-common для общих ошибок формы