Шаблон должен быть записан как регулярное выражение
ng-pattern="/^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$/"
<input
type='text'
name="precision"
ng-model="$ctrl.list[$index][$ctrl.idFieldName]"
ng-required
ng-blur="$ctrl.validateInput($ctrl.list[$index][$ctrl.idFieldName], $index)"
ng-pattern="/^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$/" />