2014-10-07 76 views
3

我正在測試angular-fcsa-number指令,在輸入字段的包裝器元素沒有分配'has-error'類的過程中,即使該字段無效。在我看來,ng-class不承認這個字段是無效的。我在這裏做錯了什麼?ng-class does not trigger on invalid form field

<form id="form1" runat="server" name="form1"> 
    <div class="form-group" data-ng-class="{ 'has-error': form1.fcsaPlugin.$invalid }"> 
     <label>FCSA Number</label> 
     <input type="text" name="fcsaPlugin" class="form-control" data-ng-model="action.FV10036" fcsa-number /> 
    </div> 
</form> 
+0

你有沒有加入'FCSA-number'插件作爲依賴於你的應用程序模塊? https://github.com/FCSAmericaDev/angular-fcsa-number#quick-start – 2014-10-08 07:50:39

+0

是的,我做到了。該指令的功能正常工作(添加千位分隔符,限制位數等)。只是在它無效的時候,它不會將'has-error'類添加到包裝元素中。我曾在Chrome Developer Tool上看到在輸入和表單元素上設置了ng-invalid類,所以我不確定ng-class爲什麼沒有選擇它。 – 2014-10-08 13:37:17

+0

這適用於我:http://plnkr.co/edit/gE1Y5NcVEi3K88h3gnQL?p=preview – 2014-10-08 15:37:05

回答

0

就像你說的那樣,當你刪除runat =「server」屬性時它就起作用。是有可能你正在使用asp.net MasterPages。如果你試圖檢查HTML,基本上檢查呈現的HTML中的表單的名稱。如果您在使用asp.net母版形式的名稱將是aspnetForm,讓您的數據納克級應該是

data-ng-class="{ 'has-error': aspnetForm.fcsaPlugin.$invalid }"