Page 55 - AngularJS权威教程
P. 55

7.2  表单验证   35


                  将整个过程分开来看,我们只是像以前一样在表单发生改变,且输入内容不合法时才展示错                                           1
              误内容。现在,我们会在特定的属性未通过验证时只展示对应的特定DOM元素。
                  接下来看下一组验证,电子邮箱的验证:                                                                 2

                  <div class="row">
                      <div class="large-12 columns">
                          <label>Your email</label>                                                  3
                          <input type="email"
                              placeholder="Email"
                              name="email"                                                           4
                              ng-model="signup.email"
                              ng-minlength="3" ng-maxlength="20" required />
                          <div class="error"                                                         5
                              ng-show="signup_form.email.$dirty && signup_form.email.$invalid">
                              <small class="error"
                                  ng-show="signup_form.email.$error.required">
                                  Your email is required.                                            6
                              </small>
                              <small class="error"
                                  ng-show="signup_form.email.$error.minlength">                      7
                                  Your email is required to be at least 3 characters
                              </small>
                              <small class="error"
                                  ng-show="signup_form.email.$error.email">                          8
                                  That is not a valid email. Please input a valid email.
                              </small>
                              <small class="error"                                                   9
                                  ng-show="signup_form.email.$error.maxlength">
                                  Your email cannot be longer than 20 characters
                              </small>
                          </div>                                                                     10
                      </div>
                  </div>
                                                                                                     11
                  现在整个表单都被包含进来了,我们来看一下电子邮件的输入字段。注意,我们将输入字段
              的type属性设置为email,并且在$error.email上添加了验证错误的信息。这个验证同时基于
              AngularJS和HTML5属性实现。                                                                   12

                  最后,看一下用户名的输入字段:
                                                                                                     13
                  <div class="large-12 columns">
                      <label>Username</label>
                      <input type="text"
                          placeholder="Desired username"                                             14
                          name="username"
                          ng-model="signup.username"
                          ng-minlength="3"                                                           15
                          ng-maxlength="20"
                          ensure-unique="username" required />
                      <div class="error"                                                             16
                          ng-show="signup_form.username.$dirty &&
                                   signup_form.username.$invalid">
                          <small class="error"
                              ng-show="signup_form.username.$error.required">                        17
                              Please input a username
                          </small>
                          <small class="error"                                                       18
                              ng-show="signup_form.username.$error.minlength">
   50   51   52   53   54   55   56   57   58   59   60