ngMessages, отображающие динамическую ошибку для входного числа в соответствии с максимальными или минимальными атрибутами

Я некоторое время пытался найти информацию о том, как использовать угловую проверку для отображения сообщений, но с определенным атрибутом min или max.

Если у меня есть поле input[type="number"] с такими атрибутами, как min=1 или max=10, и пользователь вводит 11, мне нужно сообщение проверки, которое говорит: "The number should be less than 10". А вот число 10 надо брать из атрибута max динамически.

Я хотел бы иметь сообщения в отдельном шаблоне. У меня есть следующее:

<!-- default ng-messages -->
<script type="text/ng-template" id="common-messages">
    <span ng-message="required" class="help-block">This field is required</span>
    <span ng-message="maxlength" class="help-block">Must be no longer than {{maxlength}} characters</span>
    <span ng-message="min" class="help-block">This number must be greater than {{min}}.</span>
    <span ng-message="max" class="help-block">This number must be less than {{max}}.</span>
    <span ng-message="number" class="help-block">A number is required</span>
    <span ng-message="date" class="help-block">A date is required</span>
</script>

а потом в форме

<div class="container" ng-controller="app.packaging.PackagingAddController as package">
    <form name="packageForm" ng-submit="package.save()" role="form" novalidate class="form-horizontal">
        <input type="text" name="packageCount" ng-model="package.model.packageCount" class="form-control" max="10 " />
        <div ng-messages="packageForm.packageCount.$error" role="alert" ng-show="packageForm.$submitted || packageForm.packageCount.$touched" ng-messages-multiple>
              <div ng-messages-include="common-messages"></div>
        </div>
    </form>
</div>

Проблема в том, что показана ошибка This number must be less than ., поэтому {{max}} не вводится. Есть ли способ добиться этого, чтобы я мог повторно использовать шаблон общих сообщений?

PS: этот поток Как получить минимальные и максимальные значения input angularjs бесполезен для моего вопроса, поскольку он не использует повторно шаблон и не считывает атрибут html input max.


person diegosasw    schedule 22.07.2016    source источник
comment
К сожалению, вы не можете сделать это, просто вызвав свое представление, как это {{max}}, вам нужно создать пользовательскую директиву для достижения того, чего вы хотите.   -  person developer033    schedule 22.07.2016
comment
Это был просто пример того, чего я пытаюсь достичь. Вы говорите, что ngMessages не поддерживает ничего подобного из коробки? Спасибо   -  person diegosasw    schedule 25.07.2016