从数组中填充ng-pattern

时间:2016-10-13 14:14:36

标签: javascript angularjs

我有一个像这样的对象结构:

var fields = [
  { field: 'test', checks: [
    { check: 'test1' },
    { check: 'test2' },
    { check: 'testn' }
  ] },
  {/* next field */}
];

现在我想用ng-pattern检查一个输入字段,用户可以输入他想要的内容,但只是检查中的项目是正确的。

<tr ng-repeat="field in fields">
    <td><%field.field%></td>
    <td>
        <input
            type="text"
            class="form-control"
            ng-model="model"
            ng-pattern="field.checks[0]" /*test1*/
        >
    </td>
</tr>

通过这种方式,我可以检查支票中的一项。如何检查所有项目,以便有ng-pattern="test1|test2|testn"

之类的内容

1 个答案:

答案 0 :(得分:0)

ng-pattern表达式获取任何有效的正则表达式字符串 - 您可以映射您的检查并使用正则表达式的OR符号(|)将它们连接起来,将该字符串绑定到范围变量并使用它与您的ng-pattern。这样你的正则表达式就像test1|test2|testn

一样

Working Plunkr