我的范围内有一个名为pattern的对象节点。如果已设置,我想将模式添加到DOM作为输入字段的模式属性。我试过这个:
{{field.pattern && 'pattern='+field.pattern}}
如果我把它作为内容放在<p>
- 标签中,但是当我尝试将它放在输入节点中时,它表示我的控制器未定义:Argument 'Invite' is not a function, got undefined
我也找到了这个
ng-attr-pattern="{{field.pattern && field.pattern}}"
但是,如果模式未定义,则会添加空模式属性,这会使表单无效。
答案 0 :(得分:1)
您可以使用ng-pattern
代替默认模式:
<强>的Javascript 强>
function Ctrl($scope) {
$scope.pattern1 = /^[0-9]+$/;
$scope.getFooPattern = function() {
return $scope.pattern1 || /.*/;
};
}
<强> HTML 强>
<form name="form" novalidate>
<input type="text" ng-model="foo" name="foo" ng-pattern="getFooPattern()">
</form>
jsFiddle示例。