提交和删除文本后,角度验证NG消息不显示

Ste*_*ieB 9 javascript validation angularjs

这是我当前为表单设置的验证

<ng-messages for="searchForm.$error" ng-if="searchForm.$submitted">
  <ng-message when="required" class="error-message">This search field is required.</ng-message>
</ng-messages>
Run Code Online (Sandbox Code Playgroud)

和我的形式

<form role="form" ng-submit="searchForm.$valid && searchcode()" name="searchForm" novalidate>
Run Code Online (Sandbox Code Playgroud)

它工作正常.

但这是我不喜欢这种情况

1)在空搜索框上按Enter键 - >显示正确的消息"字段是必需的"

2)开始键入和删除文本而不按Enter键 - >它再次显示错误信息

这是我不想要的第二个场景......任何想法?

all*_*kim 6

也许您的错误消息的字段名称不正确.无法说明你为什么不工作的确切原因,因为你没有提供一个例子.但是,当我测试时,它工作正常.

 <form ng-controller="MyCtrl" role="form" name="searchForm" novalidate
    ng-submit="searchcode()">
    <input type="text" ng-model="field" name="myField" 
      ng-keypress="searchForm.$submitted=false"
      required minlength="5" />
    <ng-messages ng-if="searchForm.$submitted"
      for="searchForm.myField.$error">
      <ng-message when="required" class="error-message">
        This search field is required.
      </ng-message>
    </ng-messages>
  </form>
Run Code Online (Sandbox Code Playgroud)

http://plnkr.co/edit/56koY7YxPDVFe4S26x9N?p=preview