AngularJS 进阶(二) 解决form验证时ng-repeat不能先解析name值问题

1.自定义指令

.directive("dyName", [

        function() {
          return {
            require: "ngModel",
            link: function(scope, elm, iAttrs, ngModelCtr) {
              ngModelCtr.$name = scope.$eval(iAttrs.dyName)
              var formController = elm.controller(‘form‘) || {
                $addControl: angular.noop
              };
              formController.$addControl(ngModelCtr);

              scope.$on(‘$destroy‘, function() {
                formController.$removeControl(ngModelCtr);
              });

            }
          };
        }
      ])

2.引入指令

<div ng-repeat="item in demo.fields">
      <div class="control-group">
        <label class="control-label"> : </label>
        <div class="controls">
          <input type="number"  dy-name="item.field" ng-model="demo.data[item.field]" min="10" max="500" ng-required="true"/>
        </div>
      </div>
    </div>
时间: 2024-10-13 14:37:51

AngularJS 进阶(二) 解决form验证时ng-repeat不能先解析name值问题的相关文章

AngularJS进阶(二十八)解决AngualrJS页面刷新导致异常显示问题

解决AngualrJS页面刷新导致异常显示问题 绪 俗话说,细节决定成败,编程亦是如此.编程过程中我们可能会不自觉的忽视一些细节问题,殊不知,这些细节正是导致页面显示出现问题的地方.今略举一例,与君共勉之. 页面正常加载后,显示如下: 按F5刷新之后,页面如下所示: 很明显,页面显示出现了异常.回过头再看看Chrome的错误提示, 具体代码如下: 正是以上代码导致了错误的发生. 追根溯源 让我们回顾一下,错误到底是如何发生的.正常加载情况下,页面正常显示很容易理解,程序是按照既定的数据流走的.但

AngularJS进阶(二十九)AngularJS项目开发技巧之localStorage存储

AngularJS项目开发技巧之localStorage存储 绪 项目开发完毕,测试阶段发现后台管理端二维码生成有问题,问题在于localStorage的存储.如下图左所示,二维码生成完毕包含信息如下图左所示,实际二维码信息如下图右所示: 经过测试发现二维码实际存储的是上一次的结果.好熟悉~Bingo,自己做导航栏高亮时就遇到过这个问题,当时就是使用的localStorage.问题还是出在localStorage身上.但是存储时:localStorage.setItem(key,value),如

AngularJS进阶(二十五)requirejs + angular + angular-route 浅谈HTML5单页面架构

requirejs + angular + angular-route 浅谈HTML5单页面架构 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验最好,更像原生app.简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多. 废话就不多说了,直接到正题吧,浅谈一下我自己理解的几种单页面架构: 1.requirejs+angular+angular-route(+zepto) 最后这个zepto可有可无

AngularJS的稍复杂form验证

代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsSoccerFormCheck.rar 代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html ng-app="notesApp"> &

MVC绕过登陆界面验证时HttpContext.Current.User.Identity.Name取值为空问题解决方法

Global.asax界面添加如下方法: void FormsAuthentication_Authenticate(object sender, FormsAuthenticationEventArgs e) { string UserName = this.Context.Request.QueryString["UserName"]; if (!string.IsNullOrEmpty(UserName)) { FormsAuthentication.SetAuthCookie(

form submit时将__VIEWSTATE和__VIEWSTATEGENERATOR一起post到另外的页面,出现验证视图状态 MAC 失败。

错误信息: 验证视图状态 MAC 失败.如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法.不能在群集中使用 AutoGenerate. 原因分析: F_App_Cux_Pro.aspx页面原代码: this.form1.action = "F_Add_App_Cux_Pro.aspx?CuxId=" +$("#CuxId").val() + ""; this.form1.submit(); 也就是

解决git Push时请求username和password,而不是ssh-key验证

转载自:https://blog.lowstz.org/posts/2011/11/23/why-git-push-require-username-password-github/ 之前开始用github时是在ubuntu下按着官方的新手指南搞定的.但最近一直在用fedora,所以也想在fedora下用github,配置的时候很顺利,就是在git push的每次都需要输入username和password,而我是配置好公钥登陆的.用ssh -T [email protected] 也是成功用公

node进阶| 解决表单enctype=&quot;multipart/form-data&quot; 时获取不到Input值的问题

今天在学习node踩到一个坑:form设置enctype="multipart/form-data"上传文件时,无法获取到表单其他input的值. 因为之前上传文件用的是 formidable  方法1:formidable (无法获取其他input的值) 引包 app.js var app = express(); var express = require("express");var router = require("./controller&qu

angularJS添加form验证:自定义验证

刚学习form验证.不得不说form验证是比较丰富的.下面来个小例子.1.情景:看电影选座位!2.具体要求:当输入座位号时,进行校验.其中1已经被选.如果输入为1,则提交按钮置为无效,并且给出提示,如果输入为2,则不给出提示,允许提交3.实际效果: 4.代码示例: 1 <!DOCTYPE HTML> 2 <html ng-app="app"> 3 <head> 4 <meta charset="utf-8"/> 5 &