AngularJS动态表单字段验证

AngularJS动态表单字段验证,第1张

AngularJS动态表单字段验证

试试我的自定义指令

myApp.directive("dynamicName",function($compile){  return {      restrict:"A",      terminal:true,      priority:1000,      link:function(scope,element,attrs){          element.attr('name', scope.$eval(attrs.dynamicName));          element.removeAttr("dynamic-name");          $compile(element)(scope);      }   };});

用它:

<input dynamic-name="field.name"       type="{{ field.type }}"       placeholder="{{ field.name }}"       ng-model="field.value"       required>

演示

问题说明:

默认情况下,输入元件使用ngModelController(

ng-model
)调用
FormController.$addControl
时它们与注册其自身,并在暴露的属性
FormController

输入的名称属性
{{ field.name}}
在这种情况下。因此,即使控制已注册,但你没有暴露在性能
FormController
与命名的
email
firstName
你只需要
{{field.name }}
引用 的最后一个输入项

解决方案说明:

在此解决方案中,我创建了一个自定义指令,以

{{ field.name }}
在运行时将替换为正确的名称。

有关为什么我必须使用

terminal:true,
and的更多信息
priority:1000



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5049135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存