【问题标题】:angular ui-select and form validation $touched not working together角度 ui-select 和表单验证 $touched 不能一起工作
【发布时间】:2016-03-10 21:28:27
【问题描述】:

我有这个验证消息标签

<div class="validation-message-tag" ng-show="ctrl.data && ctrl.$touched">
  <p ng-repeat="message in success track by $index" class="validation-success">{{message}}</p>
  <p ng-repeat="message in info track by $index" class="validation-info">{{message}}</p>
  <p ng-repeat="message in warning track by $index" class="validation-warning">{{message}}</p>
  <p ng-repeat="message in error track by $index" class="validation-error">{{message}}</p>
</div>

并使用 ui-select 输入字段

      <lable for="tags">Tags</lable>
      <div id="tags">
        <tag-picker-tag ng-model="entity.meta.tags" editable="true" name="tags" check-valid-user-meta-tags></tag-picker-tag>
        <validation-message-tag ctrl="form.tags"></validation-message-tag>
      </div>

标签选择器标签:

<div class="tag-picker-tag">
  tags
  <ui-select ng-model="$parent.tags" ng-disabled="! editable" multiple tagging tagging-tokens="SPACE|," tagging-label="(custom 'new' label)" title="Select tags" sortable="true" theme="bootstrap" >
    <ui-select-match placeholder="Enter Tags...">{{$item}}</ui-select-match>
    <ui-select-choices repeat="tag in suggestedTags | filter:$select.search">
      {{tag}}
    </ui-select-choices>
  </ui-select>
  <p>Selected: {{tags}}</p>
</div>

验证器确实因无效输入而失败,并带有正确的验证消息。但是没有显示验证消息,因为 $touched 总是假的。我对其他输入(如文本区域)进行了相同的尝试,但只有 ui-select 不起作用。

那么有没有办法支持带有角度 $touched 字段的 ui-select?还是我可以从 ui-select 使用其他布尔标志?

【问题讨论】:

    标签: angularjs ui-select


    【解决方案1】:

    不确定&lt;ui-select&gt;,但在您离开该字段后,&lt;input&gt; 会定期更新$touched。使用$dirty,修改值后变为true。

    【讨论】:

      猜你喜欢
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 2020-04-04
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多