发表于: 2017-05-09 23:51:27

1 959


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

对登录页的两个input框添加ng-model进行双向绑定

<input type="text" placeholder="请输入账号name="name" autofocus required ng-model="name" maxlength="16"
          pattern="^\w+$" minlength="5">

  <input type="password" placeholder="请输入密码name="pwd" required="" ng-model="password" maxlength="20"
          minlength="6">

为整个登录页的form表单添加验证功能

<div class="box">
   <img src="images/user.png" alt="用户名">
   <input type="text" placeholder="请输入账号name="name" autofocus required ng-model="name" maxlength="16"
          pattern="^\w+$" minlength="5">
</div>
<div class="remind">
   <div ng-messages="loginForm.name.$error" ng-show="loginForm.name.$touched">
       <ng-message="required">账号不能为空</p>
       <ng-message="minlength">账号为5-16</p>
       <ng-message="pattern">账号为英文或数字</p>
   </div>
</div>
<div class="box">
   <img src="images/password.png" alt="密码">
   <!--对登录页的两个input框添加ng-model进行双向绑定 , input输入框和 $scope.password 的双向绑定-->
   <input type="password" placeholder="请输入密码name="pwd" required="" ng-model="password" maxlength="20"
          minlength="6">
</div>
<div class="remind">
   <!--ng-show-->
   <div ng-messages="loginForm.pwd.$error" ng-show="loginForm.pwd.$touched">
       <ng-message="required">密码不能为空</p>
       <ng-message="minlength">密码为620</p>
   </div>
</div>

对登录页的button添加ng-click事件,当点击时,获取双向绑定后的数据,并用$http请求登录接口


<button  ng-click="login()" ng-disabled="loginForm.$invalid">登录</button>

在 form 层面,可以使用 ng-disabled来控制提交按钮的状态,在 form 表单项全部验证通过前不可点击,登录成功后跳转到列表页面


明天计划的事情:(一定要写非常细致的内容) 

AngularJS的很多知识点还不熟悉,继续在https://www.w3schools.com学习AngularJS


遇到的问题:(遇到什么困难,怎么解决的) 


怎么通过点击 文章列表 获取列表页接口数据?


怎么通过ng-repeat等方法将数据渲染到页面上?


收获:(通过今天的学习,学到了什么知识)

input 验证选项

AngularJS 的 input 标签 自带的验证选项有以下这些。

<input
       ng-model=""
       [name=""]
       [required=""]
       [ng-required=""]
       [ng-minlength=""]
       [ng-maxlength=""]
       [ng-pattern=""]
       [ng-change=""]>
...
</input>

a. 必填

使用 ng-required 可以根据后面表达式的值设置是否 required 。在不满足 required 时 form.myName.$error 为 {required: true} 。

b. 长度

在不满足 ng-minlength/ng-maxlength 时 form.myName.$error 为 {minlength: true, maxlength: true} 。

直接使用 minlength/maxlength 也有相同效果,而且 maxlength 可以设置最多输入 x 个字符,超过之后无法再输入。

c. 模式匹配

在不满足 ng-pattern 时 form.myName.$error 为 {pattern: true} 。


ng-messages 是 AngularJS 1.3 提供的一个用来增强模版显示的模块,主要用在处理复杂的错误信息。

在以前的版本中,如果想处理错误信息的显示,可能需要定义一堆 code 再结合复杂的 ng-if 语句来实现。而且在输入同时满足多条错误规则的情况下,无法控制错误信息显示的优先级。这些,使用 ng-messages 可以完美解决。




返回列表 返回列表
评论

    分享到