2013-10-11 56 views
1

我试图从this文章使用角度+引导做出例子。我有这方面的工作代码:Angular + Bootstrap输入验证错误类

<div ng-controller="Ctrl"> 
    <br> 
    <hr> 

    <form name="signup_form" novalidate ng-submit="signupForm()"> 
     <fieldset> 
      {{' signup_form.submitted \''+signup_form.submitted+ '\' ' }}<br> 
      {{' submitted \''+submitted+ '\' ' }}<br> 
      {{' $scope.signup_form.$valid \''+signup_form.$valid+ '\'' }} 

      <div class="control-group" ng-class="{error: signup_form.name.$dirty && signup_form.name.$invalid}"> 
       <legend>Signup</legend> 
       <div class="row"> 
        <div class="span12"> 
         <label>Your name</label> 
         <input type="text" 
           placeholder="Name" 
           name="name" 
           ng-model="signup.name" 
           ng-minlength=3 
           ng-maxlength=20 required/> 
        </div> 
       </div> 
      </div> 
      <button type="submit" class="button radius">Submit</button> 
     </fieldset> 
    </form> 

</div> 

http://jsfiddle.net/cQ324/3/

的问题是:

  1. 这段代码:

    <div class="control-group" ng-class="{error: signup_form.name.$dirty && signup_form.name.$invalid}"> 
    

    看起来并不很漂亮。我觉得这样做并不是一个好习惯。它怎么会更容易和正确?

  2. 如果我按输入字段,我立即得到红色边框。 我发现这个问题github.com/twbs/bootstrap/issues/1675,但它是一个非常老的线程。 什么是最好的和正确的方式来避免这个红色框在空场点击?

欢迎任何整体代码建议。 TY! )

回答

0

我在做形式像这样的事情我已经创建:

<div class="form-group col-md-3 input-group-lg" ng-class="{true: 'has-error',false: 'is-required'}[createContacts.proposer.$dirty && createContacts.proposer.$invalid]"> 
    <label class="control-label" for="proposer">Name *</label> 
    <input type="text" class="form-control" name="proposer" id="proposer" placeholder="First & Last Name" ng-model="proposer.name" required>  
    <span class="help-block" ng-show="createContacts.proposer.$dirty && createContacts.proposer.$error.required">Proposer's name is required.</span> 
</div> 

ng-class="{true: 'has-error',false: 'is-required'}[createContacts.proposer.$dirty && createContacts.proposer.$invalid]"

is-required类不是引导的一部分,它的I类创建颜色需要代码对象当没有错误时。

+0

我应该注意到这里使用的类是Bootstrap 3 –