Angularjs 如果定义了模式,是否设置字段模式?

Angularjs 如果定义了模式,是否设置字段模式?,angularjs,Angularjs,我的作用域中有一个名为pattern的对象节点。如果设置了,我想将该模式作为输入字段的模式属性添加到DOM中。我试图这样做: {{field.pattern && 'pattern='+field.pattern}} 例如,如果我将其作为内容放在-标记中,则此操作有效,但当我尝试将其放在输入节点中时,它表示我的控制器未定义:参数“Invite”不是函数,未定义 我也发现了这个 ng-attr-pattern="{{field.pattern && field.p

我的作用域中有一个名为pattern的对象节点。如果设置了,我想将该模式作为输入字段的模式属性添加到DOM中。我试图这样做:

{{field.pattern && 'pattern='+field.pattern}}
例如,如果我将其作为内容放在
-标记中,则此操作有效,但当我尝试将其放在输入节点中时,它表示我的控制器未定义:
参数“Invite”不是函数,未定义

我也发现了这个

ng-attr-pattern="{{field.pattern && field.pattern}}"

但是,如果模式未定义,则会添加一个空模式属性,这会使表单无效。

您可以使用
ng模式
以及默认模式:

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>


示例。

您可以使用
ng模式
以及默认模式:

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>


示例。

这没有提供足够的样本来使用。这没有提供足够的样本来使用。我想说的是,如果
type=“email”
pattern=“/.*/”
都是无效的,但看起来不是这样,它只是在输入中添加了另一个
ng有效模式
类。这是一个解决实际问题的方法,但它仍然有效……我想说的是,如果
type=“email”
pattern=“/.*/”
,这将不起作用,但看起来不是这样,它只是将另一个
ng有效模式
类添加到您的输入中。这是一个解决实际问题的方法,但它仍然有效。。。