【发布时间】:2016-01-20 14:09:18
【问题描述】:
我有一个属性列表的 ng-repeat,并希望显示每个输入的错误消息。对于模式错误,我还想显示它必须匹配的特定正则表达式。
我能以某种方式访问输入的模式吗?我知道我可以添加一个包含正则表达式的属性,但我想知道是否有某种角度方式。
(这是一个过于简单的例子,不同属性的正则表达式可能不同)
<form name="form">
<div data-ng-repeat="(attributeName, attributeMetaData) in configuration.metaData">
<input data-ng-model="configuration[attributeName]" type="text" name="{{attributeName}}" data-ng-pattern="/^[0-9][0-9]:[0-9][0-9]$/">
<span data-ng-show="form[attributeName].$error.pattern && form[attributeName].$dirty">
Please check your input format [pattern should go here]
</span>
</div>
</form>
【问题讨论】:
-
您想要显示类似 HH:MM 的内容还是您在
data-mg-pattern中设置的实际正则表达式模式? -
正则表达式模式会很好。它适用于相当技术性的受众,应该保持高度通用性。
-
在这种情况下,您最好将该模式存储在范围变量中并在错误消息中显示它吗?
$scope.timeRegexPattern = '/^[0-9][0-9]:[0-9][0-9]$/' -
我不知道你使用的是什么数据库,但你可以有选择地将模型字段保存到,比如 mongo。如果这不适用于您的情况,那么我想您最好的选择是拥有一个仅包含正则表达式的模型。
标签: javascript angularjs regex