2013-04-09 144 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