【问题标题】:AngularJS - Server side validation of a formAngularJS - 表单的服务器端验证
【发布时间】:2013-04-10 07:19:19
【问题描述】:

我有兴趣在服务器端验证表单(所有字段),然后将错误列表发送回客户端以进行显示。 因此必须在表单级别进行验证,但必须为每个字段设置有效性设置。我不知道如何实现它,有什么建议吗?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    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

    还可以使用此 Chrome 扩展程序在运行时检查表单对象 https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=en

    【讨论】:

    • 您知道如何处理在 ng-repeat 中重复的表单字段的验证吗?我应该在 ng-form 中使用子表单吗?
    • 我没做过,但是如果你检查在控制器上创建的表单对象,你就会知道在哪里放置适当的错误消息。
    • @Katan:我不太确定……我不知道是否需要使用嵌套表单……
    • 在 html 中,您在表单中没有表单,AFAIK。您可以在模板内的集合上使用 ng-repeat 并在其中使用 input 元素。如果您发布应用程序的 JSFiddle,我们可以玩玩。
    • @Katan:好的,给我几分钟准备时间。顺便提一句。你在 freenode 上吗?
    猜你喜欢
    • 2014-04-06
    • 2013-04-16
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    相关资源
    最近更新 更多