2

我如何ngMessages访问有关表单错误的信息?比如字段名等属性?

例子:

我见过很多这样的例子:

<input type="text" ng-model="field" name="myField" minlength="5">
<div ng-messages="myForm.myField.$error">
  <div ng-message="minlength">The value entered is too short</div>
</div>

这不是一个好的错误消息,因为它没有告诉用户输入应该多长时间。它只是告诉他们它太短了。

它应该呈现如下内容:“此字段必须至少为 {{ minlength }} 个字符。”

更好的是:“{{ field }} 必须至少为 {{ minlength }} 个字符。”

必须为不同最小长度的输入定义不同的消息是非常不干燥的。

如何做到这一点ngMessages

4

2 回答 2

0

我会像 jayChase 建议的那样做。这绝对是最简单的方法,正如他所建议的那样,使用单一绑定在性能方面不会很差

于 2015-12-02T00:38:32.040 回答
0

您可以将 minlength 值保留在范围上,然后在验证消息中绑定到它。

<input type="text" ng-model="field" name="myField" minlength="::myFieldMinlength">
<div ng-messages="myForm.myField.$error">
    <div ng-message="minlength">This field must be at least {{::myFieldMinlength}} characters.</div>
</div>
于 2015-12-02T00:10:51.160 回答