AngularJS动态表单字段验证

佩多阿特

我正在尝试验证从后端端点给我的一些表单字段...

因此,基本上,input元素是在内动态创建的ng-repeat因此,input属性也被动态添加,如typename等...

但是,由于该name属性是动态添加的,因此当我尝试验证它时,例如:

myForm.elName.$valid

它不返回任何内容,因为在这一点上,它不知道是什么elName

我创建了一个jsFiddle来演示该问题:http : //jsfiddle.net/peduarte/HB7LU/1889/

任何帮助或建议将不胜感激!

FANX。

编辑:
我一直在参考此AWESOME文档:http ://docs.angularjs.org/api/ng.directive: input.email

土清

试试我的自定义指令:

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与命名的emailfirstName你只需要{{ field.name }}引用的最后一个输入项

解决方案说明:

在此解决方案中,我创建了一个自定义指令,以{{ field.name }}在运行时用正确的名称替换

有关为什么我必须使用terminal:true,and的更多信息priority:1000,请查看以下讨论:在AngularJS中从指令中添加指令

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:如何验证重复表单字段

来自分类Dev

AngularJS:防止隐藏的表单字段被验证

来自分类Dev

如何为动态生成的表单字段实现表单验证

来自分类Dev

如何验证动态添加的表单字段的重复项

来自分类Dev

AngularJS以各种形式动态添加表单字段

来自分类Dev

angularjs如何推送数组以添加动态表单字段

来自分类Dev

在angularjs中动态添加表单字段不起作用

来自分类Dev

表单字段验证条件

来自分类Dev

Javascript动态表单字段

来自分类Dev

Django表单字段验证失败

来自分类Dev

symfony IBAN表单字段验证

来自分类Dev

PHP中的表单字段验证

来自分类Dev

MVC表单字段的验证消息的位置

来自分类Dev

尝试使用jQuery验证表单字段

来自分类Dev

MVC表单字段的验证消息的位置

来自分类Dev

MVC表单字段验证问题

来自分类Dev

Django表单字段验证错误

来自分类Dev

角度子表单字段验证

来自分类Dev

如何动态添加或删除表单字段?

来自分类Dev

在MeteorJS中动态添加表单字段

来自分类Dev

动态表单字段不进入行

来自分类Dev

从表单字段动态填充URL

来自分类Dev

动态表单字段不发送值

来自分类Dev

Django动态表单字段生成

来自分类Dev

在 Laravel 中动态保存表单字段

来自分类Dev

如何动态获取表单字段值?

来自分类Dev

如何动态添加和删除要由Parsley.js验证的表单字段?

来自分类Dev

Struts 2验证不适用于动态表单字段

来自分类Dev

向Angular中的formArray添加动态表单字段和验证