$invalid未在ionic angularjs中触发

$invalid未在ionic angularjs中触发,angularjs,ionic-framework,Angularjs,Ionic Framework,我正在尝试在ionic/angularjs中执行必需的字段验证,它似乎没有触发{{user.$invalid}}在我与表单交互时没有被设置。对于angular和ionic来说是个新概念,那么在这种情况下,执行所需字段验证器的正确方法是什么呢 <form novalidate > <div class="list"> <label class="item item-input"> <span class="i

我正在尝试在ionic/angularjs中执行必需的字段验证,它似乎没有触发{{user.$invalid}}在我与表单交互时没有被设置。对于angular和ionic来说是个新概念,那么在这种情况下,执行所需字段验证器的正确方法是什么呢

<form novalidate >
      <div class="list">
        <label class="item item-input">
          <span class="input-label">Username</span>
          <input type="text" ng-model="user.uname" required>

          <div class="error-container" ng-show="user.uname.$dirty && user.uname.$invalid">
            <small class="error" ng-show="user.uname.$error.required">Please input a uname</small>
          </div>
        </label>

        <label class="item item-input">
          <span class="input-label">Password</span>
          <input type="password" ng-model="user.pwd" required>
          <div class="error-container" ng-show="user.pwd.$dirty && user.pwd.$invalid">
            <small class="error" ng-show="user.pwd.$error.required">Please input a password</small>
          </div>
        </label>
        <label class="item">
          <div lass="error-container">{{message}}</div>
           <div lass="error-container">Invalid:{{user.$invalid}}</div>
          <button class="button button-block button-positive" ng-disabled="user.$invalid" ng-click="login(user)">Log in</button>
        </label>
      </div>
    </form>

用户名
请输入一个uname
密码
请输入密码
{{message}}
无效:{{user.$Invalid}
登录

看起来您只是忘了给表单命名:

<form novalidate name="user">

Angular将仅为命名表单和输入创建$scope成员

从文档中:

表单是FormController的一个实例。可以选择使用name属性将表单实例发布到范围中

类似地,具有ngModel指令的输入控件保存NgModelController的实例。这样的控件实例可以使用输入控件上的name属性作为表单实例的属性发布。name属性指定窗体实例上属性的名称