dynamic - 动态创建 ng-pattern 的指令

标签 dynamic angularjs directive

我正在尝试为 input 创建一个指令将动态创建 ng-pattern 的元素检查输入字段中的有效 IP 地址。我这样做的所有尝试都完全失败了。虽然我可以动态修改其他属性,但我无法创建 ng-pattern这将影响 $valid状态。

这是我一直在处理的代码,它似乎应该可以工作,但它对 ng-pattern 没有任何作用。 .

app.directive('ipAddress', function($parse) {
    return {
        link: function(scope, element, attrs) {
            var model = $parse(attrs.ngPattern);
            model.assign(scope, "/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/");
            scope.$apply();
        };
});

指令:

<input ng-model="ip" ip-address required type="text" id="inputIP" placeholder="xxx.xxx.xxx.xxx">

是的,我知道我可以指定 ng-pattern<input> 内联标记,但重点是我希望能够在代码中动态执行此操作,并且我想保留 <input>通过不在其中嵌入一堆正则表达式代码来清除标签。

谁能帮帮我?谢谢!

最佳答案

您可以在 Controller 中定义模式,然后在 html 中使用:

$scope.pat=/^.*$/

然后在html中

<input ng-pattern="pat" ... >

关于dynamic - 动态创建 ng-pattern 的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17384909/

相关文章:

php - 用于 PHP 中动态立即付款按钮的 Paypal API

java - 交换 JPanel,第二个 JPanel 不显示

javascript - AngularJS ng-switch 或类似的工具来处理动态值

javascript - Angular Directive(指令) - 动态 Controller

c# - 使用 LINQ to SQL 进行动态查询

c++ - 无法删除动态分配的多维数组

angularjs - ngGrid 双击行打开弹出窗口以编辑行

javascript - Angularjs ng-disabled 不起作用

javascript - AngularJS 输入 ng-model 不更新