2013-04-09 94 views
2

我有興趣在服務器端驗證表單(所有字段),然後將錯誤列表發送回客戶端以顯示。 因此,驗證必須在表單級別進行,但有效性設置必須設置爲每個字段。我不確定如何實現它,有什麼建議?AngularJS - 表單的服務器端驗證

回答

4

AngularJS提供了豐富的自定義驗證框架。 它暴露了控制器範圍內的表單對象,並且該對象具有不同的屬性,如$error$dirty$pristine等,可用於創建自定義驗證解決方案。基本上你所要做的就是從服務器獲取驗證錯誤並相應地設置這些屬性。

在模板中,你將有

<form id="myForm" name="myForm" novalidate ng-controller="myController"> 

在你的控制器,你將有

scope.myForm.$errors //and so on. 

http://docs.angularjs.org/guide/forms

還可以使用此瀏覽器擴展程序在運行時檢查表單對象 https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en

+0

你知道嗎? o使用ng-repeat重複的表單字段處理驗證?我應該使用ng形式的子表單嗎? – Inez 2013-04-09 23:30:57

+0

我還沒有做到這一點,但是如果您檢查在控制器上創建的表單對象,您將知道在哪裏放置相應的錯誤消息。 – Ketan 2013-04-09 23:48:53

+0

@Katan:我不太確定..我不知道我是否需要使用嵌套表單或不... – Inez 2013-04-09 23:56:35