2015-11-06 59 views
0

我在互聯網上搜索了很多,但我沒有得到我的程序可行。所以,我選擇我的問題stackoverflow。基本上我想在驗證失敗時顯示驗證錯誤消息。爲此,我使用ngMessage指令使錯誤消息集中化,以便我可以輕鬆更新任何錯誤消息。但消息沒有顯示出來。這裏是我的代碼:AngularJS ng消息與ng消息包括不顯示

Index.php 
<div class="alert alert-danger field-wrapper errors"> 
    <div ng-messages ="loginForm.email.$error"><div ng-messages-include="ng-errorMessages.php"></div></div> 
    <div ng-messages ="loginForm.password.$error"><div ng-messages-include="ng-errorMessages.php"></div></div> 
</div> 

這裏是我的消息文件代碼:

ng-errorMessages.php 
<div ng-messages for="loginForm.email.$error"> 
    <div ng-message ng-show="required">Email is required!</div> 
    <div ng-message ng-show="email">Email is not vang-messaged format!</div> 
</div> 
<div ng-messages for="loginForm.password.$error"> 
    <div ng-message ng-show="minlength">Password is too short!</div> 
    <div ng-message ng-show="maxlength">Password is too long</div> 
    <div ng-message ng-show="required">Password is required!</div> 
    <div ng-message ng-show="!required && passwordWeak">Password is weak!</div> 
</div> 

沒有的問題是,沒有顯示出來。當我在鉻檢查元素我得到這個輸出:

<div class="alert alert-danger field-wrapper errors"> 
     <div ng-messages="loginForm.email.$error" class="ng-inactive"><!-- ngMessagesInclude: ng-errorMessages.php --><div ng-messages="" for="loginForm.email.$error" class="ng-scope ng-inactive"> 
     <!-- ngMessage: --> 
     <!-- ngMessage: --> 
    </div> 
     <div ng-messages="" for="loginForm.password.$error" class="ng-scope ng-inactive"> 
      <!-- ngMessage: --> 
      <!-- ngMessage: --> 
      <!-- ngMessage: --> 
      <!-- ngMessage: --> 
     </div> 
    </div> 
    <div ng-messages="loginForm.password.$error" class="ng-inactive"><!-- ngMessagesInclude: ng-errorMessages.php --><div ng-messages="" for="loginForm.email.$error" class="ng-scope ng-inactive"> 
     <!-- ngMessage: --> 
     <!-- ngMessage: --> 
    </div> 
    <div ng-messages="" for="loginForm.password.$error" class="ng-scope ng-inactive"> 
     <!-- ngMessage: --> 
     <!-- ngMessage: --> 
     <!-- ngMessage: --> 
     <!-- ngMessage: --> 
    </div></div> 
</div> 

請朋友幫我。這裏是Plunkr

回答

2

,這裏是我的發現,請參閱本plunker

我在index.html文件改變了這部分

<div class="alert alert-danger field-wrapper errors"> 
    <div ng-messages="loginForm.email.$error"> 
    <div ng-messages-include="ng-errorMessages.html"></div> 
    </div> 
    <div ng-messages="loginForm.password.$error"> 
    <div ng-messages-include="ng-errorMessages.html"></div> 
    </div> 
</div> 

到:

<div class="alert alert-danger field-wrapper errors"> 
    <div ng-messages="loginForm.email.$error || loginForm.password.$error"> 
    <div ng-messages-include="ng-errorMessages.html"></div> 
    </div> 
</div> 

而且

<div ng-messages for="loginForm.email.$error"> 
    <div ng-message ng-show="required">Email is required!</div> 
    <div ng-message ng-show="email">Email is not vang-messaged format!</div> 
</div> 
<div ng-messages for="loginForm.password.$error"> 
    <div ng-message ng-show="minlength">Password is too short!</div> 
    <div ng-message ng-show="maxlength">Password is too long</div> 
    <div ng-message ng-show="required">Password is required!</div> 
    <div ng-message ng-show="!required && passwordWeak">Password is weak!</div> 
</div> 

到:

<div ng-messages for="loginForm.email.$error"> 
    <div ng-message="required">Email is required!</div> 
    <div ng-message="email">Email is not vang-messaged format!</div> 
</div> 
<div ng-messages for="loginForm.password.$error"> 
    <div ng-message="minlength">Password is too short!</div> 
    <div ng-message="maxlength">Password is too long</div> 
    <div ng-message="required">Password is required!</div> 
    <div ng-message="!required && passwordWeak">Password is weak!</div> 
</div> 

而且其做工精細用NG的消息,包括。

+0

是的,它工作。如果我想顯示爲ul li而不是做什麼? – Mandy

+0

您能否詳細說明,在ul> li中顯示消息? –

+0

其實這些消息正在div內顯示。我希望所有的信息都應該在李的一個ul下。 – Mandy