Javascript 使用ANGULARJS表单验证而不是jquery表单验证插件有什么好处?

Javascript 使用ANGULARJS表单验证而不是jquery表单验证插件有什么好处?,javascript,jquery,forms,angularjs,validation,Javascript,Jquery,Forms,Angularjs,Validation,这可能是一个非常奇怪的问题。我开始使用AngularJS,我有一个关于使用AngularJS进行表单验证的问题 我的问题是,如果我可以使用jQuery表单验证,为什么我要使用AngularJS进行表单验证。在过去的4年里,几乎没有一个表单我不能使用jquery表单验证插件轻松验证。我想知道使用Angular JS表单验证而不是经过真正测试的jquery表单验证的好处我认为主要的好处是测试能力和易用性。角度方法以声明形式进行验证,而更复杂的JQuery验证是通过JavaScript完成的。角度验证

这可能是一个非常奇怪的问题。我开始使用AngularJS,我有一个关于使用AngularJS进行表单验证的问题


我的问题是,如果我可以使用jQuery表单验证,为什么我要使用AngularJS进行表单验证。在过去的4年里,几乎没有一个表单我不能使用jquery表单验证插件轻松验证。我想知道使用Angular JS表单验证而不是经过真正测试的jquery表单验证的好处

我认为主要的好处是测试能力和易用性。角度方法以声明形式进行验证,而更复杂的JQuery验证是通过JavaScript完成的。角度验证符合HTML5元素验证的方式,它认为所有验证约束都应该在标记中声明,而不是在代码中声明(我同意)

angular中验证的最大问题(在我看来)是,虽然在显示数据的元素上标记验证规则是一种很好的做法,但我不认为同时在标记中定义验证消息是一种很好的做法

<form name="signupFrm" novalidate="novalidate">  
  <div classs="form-row">
    <label>Username:</label>
    <input name="username" 
    ng-model="model.username"
    ng-minlength="3"
    ng-maxlength="10"
    required/>
    <div class="errors" 
    ng-show="signupFrm.username.$dirty && signupFrm.username.$invalid">
      <small class="error" ng-show="signupFrm.username.$error.required">Please input a username</small>
      <small class="error" ng-show="signupFrm.username.$error.minlength">Please enter a min length of 3</small>
      <small class="error" ng-show="signupFrm.username.$error.maxlength">Please enter a max length of 10</small>
  </div>
</div>

用户名:
请输入用户名
请输入最小长度3
请输入最大长度10
在大型应用程序上,这会很快变得不可管理,并且会将逻辑强制放入标记中,这一点从来都不好,因为它无法很容易地进行测试

然而,我仍然倾向于使用JQuery而不是JQuery,我创建了一个angular模块,它试图摆脱在标记中定义消息的需要。它认为,尽管角度表单验证的声明性很好,但您实际向用户显示错误消息的方式(使用表达式)会导致更不可维护的错误;因此,此模块通过应用动态验证消息来降低标记中的复杂性


你可以找到这个想法背后的模块和有棱角的博客帖子

我只是取决于一个人的选择!如果作为一名高级开发人员,我必须做出选择,那么有哪些选择。。这两个框架有何不同?它们的优点和缺点是什么?大概是因为如果您只使用AngularJS,您可能不想为了表单验证而拖动另一个框架。它是独立的。如果您使用的是jQuery,您可能只需要添加验证插件。这样设置是有道理的。不过,我不知道它们的确切内部工作原理,因此可能存在一些差异和怪癖。然而,如果你是一名高级开发人员,你肯定能够阅读文档并自己做一些测试(或者指导你的下属去做)。。。完全同意