I am kind of referencing https://github.com/angular/angular.js/issues/1412
Basically I have an input with ng-maxlength="10" and ng-model="form.name"
The user can type the text into the input box, and once the reach the limit, an error is displayed and they can't submit the form. This works flawlessly.
Problem: If they click a button to populate the form with internal data it throws an error.
Example:
<button ng-click="form.name='12345678901'">Populate Invalid Data</button>
Fiddle - http://jsfiddle.net/kCzjC/1/