2017-06-14 95 views
2

不知道爲什麼我會收到以下消息。有沒有其他人在AngularJS/Angular Material中遇到過這個問題?我究竟做錯了什麼?信息本身似乎有些模糊。mdInput消息顯示在無效消息元素上調用動畫:

mdInput messages show animation called on invalid messages element: 
md-input-container.md-block.md-icon-right.md-default-theme.md-input-has-value 
+1

我剛開始接觸到這個,讓我知道你是否找到了解決方案。 –

回答

4

老問題,但只是爲了防止任何人遇到此問題,您需要爲輸入字段提供錯誤消息。錯誤是說它不能將錯誤消息動畫到視圖中,因爲消息元素缺失。

在您的md-input-container中包含處理錯誤的ng-messages元素。舉例來說,如果你有一種叫做myFrm名爲email所需的電子郵件地址輸入,你的代碼將是這樣的:

<form name="myFrm"> 
    <md-input-container> 
    <label>Email Address</label> 
    <input type="email" ng-model="myFrm.email" name="email" required/> 
    <div ng-messages="myFrm.email.$error"> 
     <div ng-message="required">Email address is required</div> 
    </div> 
    </md-input-container> 
    <!-- Other form elements.... --> 
</form> 
0

我只是有這種情況發生,即使錯誤信息未設置正確的方式Hooligancat說,我發現了一個問題。

我的問題原來是在我剛剛寫的工廠中的函數返回另一個函數(在同一工廠)。我從來沒有使用返回的值。當我實際使用該功能時,它也不失敗。相反,ng-messages div的孩子已經失去了,當我深入研究錯誤時,我可以看到它。

令人困惑的是我成功地在其他幾個組件中使用過這個工廠。

因此,如果您已經確認您的錯誤消息設置正確,那麼您可能需要對自上次工作後添加或更改的任何代碼進行詳細搜索發現問題。

祝你好運!

編輯 - 當我發佈這個,我去清理一些事情,問題回來了。
一位同事看了看發生了什麼,發現我的工作版本與非工作版本的$範圍不同。我們在父組件的html中放入了一個ng-if =「true」子句,這讓事情起作用,但我仍然懷疑有一些我還沒找到的東西。

更多信息 - 我在組件A中有一個表單,在組件B中有一個表單,而組件B在組件A中的表單指令中。將A中的表單指令移動到只在字段的周圍,我需要它包含並確保表單B不是嵌套在表單A中也解決了問題。所以我更好地理解爲什麼這會導致它所做的問題。

如果你在這裏試圖找出你的問題是什麼,我希望Hooligancat的修復是你所需要的!