2016-05-25 95 views
0

我在驗證過程中在我的AngularJS應用程序中顯示自定義消息時遇到問題。角度自定義驗證消息不會顯示

下面是我的代碼:

<div class="row"> 
    <div class="input-field col s12"> 
     <input id="description" rows="3" class="materialize-textarea no-pad-bot no-pad-top" ng-model="Description" ng-required="isValidationRequired()" ng-minlength="5"></input> 
     <span class="help-inline" ng-show="submitted && frm1.description.$error.required">Comments are required</span> 

    </div> 
</div> 

<input type="submit" class="white-text waves-effect btn" value="Enter" ng-click="submitted=true" /> 

上述作品,但顯示的信息是「請填寫此場」。這不是我指定的信息。我希望顯示我自己的自定義消息。我找不到我的代碼有任何問題。任何人都可以幫助我指出正確的方向。

回答

1

有幾件事你的代碼錯誤。

  1. 表格不包括,我假設你只是沒有包括在這篇文章中的代碼位。

  2. 您需要指定輸入的名稱。 所以當做frm1.description時,它知道什麼是描述。

  3. 確保功能isValidationRequired返回true

  4. 您需要在表單標籤

在這裏,我有一個工作示例

<form novalidate name="frm1"> 
<div class="row"> 
<div class="input-field col s12"> 
    <input name="description" id="description" rows="3" class="materialize-textarea no-pad-bot no-pad-top" ng-model="Description" ng-required="isValidationRequired()" ng-minlength="5"></input> 
    <div class="help-inline" ng-show="submitted && frm1.description.$error.required">Comments are required</div> 

</div> 

NOVALIDATE

http://jsfiddle.net/mlhuff12/Lvc0u55v/4503/

+0

1.表單在那裏,我只是沒有包括它。 2.我指定了id。 3.是的,函數返回true 4.當我包含novalidate我的驗證停止工作 – ElenaDBA

+0

我認爲你在這裏的東西。我將id屬性更改爲'name',我的驗證顯示出來。還添加了'novalidate'。謝謝。你搖滾! – ElenaDBA

0

Ur得到你做了代碼的消息?聽起來像一個瀏覽器驗證。檢查你的陳述,並添加「novalidate」。即

<form novalidate> 

也許這有助於...

+0

它會做什麼?不,我沒有得到我編碼的消息,我得到的瀏覽器消息 – ElenaDBA

+0

@ElenaDBA「novalidate用於禁用瀏覽器的本機窗體驗證」-https://docs.angularjs.org/guide/forms – wdanda

+0

我試過它打破了我的驗證。事情是我想驗證,但我希望它顯示自定義錯誤消息 – ElenaDBA