当角度输入有错误时,在焦点上显示Bootstrap工具提示

时间:2013-08-07 15:51:35

标签: twitter-bootstrap angularjs angular-ui-bootstrap

此示例取自angularjs's docs

<form name="myForm" ng-controller="Ctrl">
  userType: <input name="input" ng-model="userType" required>
  <span class="error" ng-show="myForm.input.$error.required">Required!</span>
</form>

我想通过Bootstrap工具提示实现相同的行为。我查看了Angular UI-Bootstraped项目(http://angular-ui.github.io/bootstrap/),但无法弄清楚如何执行此操作。

类似的东西:

<input type="text" value="Click me!"
    tooltip="See? Now click away..." 
    tooltip-trigger="focus"
    tooltip-placement="right"
    tooltip-enabled="myForm.input.$error.required"   <--- pseudo code
    />

1 个答案:

答案 0 :(得分:1)

我尝试了几种方法,看起来你只能修改angular-bootstrap中的源代码以获得正确的解决方案。但。有一个&#39; hacky&#39;解决方案,也许它可以帮助你甚至是你需要的东西(角度自举和角度输入相结合的例子):

<form name="myForm" class="my-form">
  userType: <input style="width: 50px;" name="input" ng-model="userType" required value="Click me!" tooltip="{{myForm.$valid ? '' : 'See? Now click away...'}}"  tooltip-trigger="focus" tooltip-placement="right" class="form-control">
  <span class="error" ng-show="myForm.input.$error.required">Required!</span><br>
  <tt>userType = {{userType}}</tt><br>
  <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt><br>
  <tt>myForm.input.$error = {{myForm.input.$error}}</tt><br>
  <tt>myForm.$valid = {{myForm.$valid}}</tt><br>
  <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br>
 </form>

same in plunker.

基本上你只需从工具提示中删除文本并隐藏它。