【发布时间】:2015-11-22 04:05:53
【问题描述】:
我有以下代码来呈现输入及其验证消息:
<input type="text" ng-model="passenger.LastName" ng-model-options="{ updateOn: 'blur' }" name="lastName" required ng-minlength="2" ng-maxlength="30" ng-pattern="/^[A-Za-z-' ]+$/">
<span ng-messages="detailsForm.lastName.$error" ng-if="passengerDetailsForm.$submitted || detailsForm.lastName.$touched">
<span ng-messages-include="errorMessages"></span>
</span>
我保留以下模板,其中包含不同的常见验证消息(为简单起见,仅显示“必需”和“最小长度”):
<script type="text/ng-template" id="errorMessages">
<span ng-message="required" class="error"><i class="fa fa-exclamation-triangle fa-lg"> </i> Please, complete this field.</span>
<span ng-message="minlength" class="error"><i class="fa fa-exclamation-triangle fa-lg"> </i> Please, enter at least 2 characters.</span>
</script>
就像问题的标题所说,我想动态显示需要填写的字段名称以及有效值。 否则,为了覆盖模板中的消息,我需要编写大量重复的 HTML,当消息始终相同并且唯一会改变的是字段名称或最小长度时。
我希望有可能改为执行以下操作:
<script type="text/ng-template" id="errorMessages">
<span ng-message="required" class="error"><i class="fa fa-exclamation-triangle fa-lg"> </i> Please, type in your {0}.</span>
<span ng-message="minlength" class="error"><i class="fa fa-exclamation-triangle fa-lg"> </i> Please, enter at least {1} characters for {0}.</span>
</script>
其中{0} 将替换为字段名称(“姓氏”),{1} 将替换为最小长度 (2)。
有没有办法实现我正在寻找的东西或类似的东西?
谢谢。
【问题讨论】:
-
你能加个plunkr吗?
标签: javascript html angularjs validation