2016-01-20 60 views
4

我有一个ng-repeat属性列表,并且想要显示每个输入的错误消息。对于模式错误,我也想显示它必须匹配的特定正则表达式。访问错误消息中的ng-pattern

我可以以某种方式访问​​输入模式吗?我知道我可以添加一个包含正则表达式的属性,但我想知道是否有某种角度的方式。

(这是一个过于简单的例子,该正则表达式可以针对不同属性不同)

<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> 

的jsfiddle:http://jsfiddle.net/lisapfisterer/ndu2g0ev/

+0

你想要HH:MM这样的东西显示出来吗,还是你在'data-mg-pattern'中设置的实际正则表达式模式? – frishi

+0

正则表达式模式会很好。这是一个相当技术的观众,应该保持高度通用。 –

+1

在这种情况下,将模式存储在范围变量中并将其显示在错误消息中,你不是更好吗? '$ scope.timeRegexPattern ='/^[0-9] [0-9]:[0-9] [0-9] $ /'' – frishi

回答

2

根据您的限制,该模型无法改变,我想你最好的选择是有一个单独的模型,只包含正则表达式