1

我正在使用ngTagsInputAngular 插件来获取多个电子邮件 ID。下面是我的代码:

<form name="contact_us" role="form" novalidate enctype="multipart/form-data">
  <div class="form-group">
    <label class="control-label" for="from_email">
      From
    </label>
    <tags-input ng-model="contactUs.emails" type="email" id="from_email"
        placeholder="From" name="from_email"
        allowed-tags-pattern="^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+.)+[A-Za-z]{2,}" 
        allow-leftover-text="false" ng-required="true" add-on-space="true">
    </tags-input>
    <p class="help-block" style="color:red"
        ng-show="contact_us.from_email.$invalid && (contact_us.$submitted || contact_us.$dirty)">
      Please enter proper email address
    </p>
    <button type="submit" class="btn btn-default" ng-click="Send(contact_us)">
      Send
    </button>
</form>

在上面的代码中添加了 3 个验证,如下所示:

  1. 对于必填字段。
  2. 字段应仅接受电子邮件 ID。
  3. 它不应允许重复的电子邮件 ID。

上述情况工作正常。但是,我想根据上面发生的一种情况动态显示错误消息。请帮帮我!!!

4

2 回答 2

1

ngTagsInput 支持以下属性以捕获更改,它在添加到模型之前触发

on-tag-adding="foo($tag)" 

$scope.foo(function(tag){
   // look for error
     // if found return false

  // change the text of tag
     tag.text='what ever';
     return tag;

})
于 2016-09-12T19:44:07.567 回答
0

对于需要:

<p class="help-block" style="color:red"
    ng-show="contact_us.from_email.$error.required">           
    email address is required
</p>

对于模式和重复,我认为没有提供验证标志,您必须自己编写才能执行验证。

对于重复,也许这会有所帮助。 Angularjs - 如何检查唯一输入以及是否有重复标记都为无效

于 2015-09-13T01:23:00.363 回答