角度服务器端验证与输入的更改事件

时间:2014-10-31 02:30:37

标签: angularjs

我搜索了主题服务器端验证,但每个解决方案仅在提交按钮上完成。如何从输入变化中做到这一点?如果我们可以在输入上添加函数或指令,那么当输入有效时如何验证整个表单?

1 个答案:

答案 0 :(得分:2)

对每个输入执行服务器端验证是性能问题,将有很多请求发送到服务器取决于您的表单大小,这就是为什么最常见的是他们使用服务器端验证提交按钮。

但是如果您需要对每个输入进行服务器端验证,我建议您在ngKeyUp上进行客户端验证,并在ngBlur上进行服务器端验证

AngularJs内置了验证

<input
  ng-model="user.name"
  [name=""]
  [required=""]
  [ng-required=""]
  [ng-minlength=""]
  [ng-maxlength=""]
  [ng-pattern=""]
  [ng-change=""]
  [ng-trim=""]>
...
</input>

它相应地设置了错误属性

<tt>myForm.userName.$valid = {{myForm.userName.$valid}}</tt><br>
<tt>myForm.userName.$error = {{myForm.userName.$error}}</tt><br>
<tt>myForm.$valid = {{myForm.$valid}}</tt><br>
<tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br>
<tt>myForm.$error.minlength = {{!!myForm.$error.minlength}}</tt><br>
<tt>myForm.$error.maxlength = {{!!myForm.$error.maxlength}}</tt><br>

因此,如果“myForm。$ valid”为真,那么您可以触发后端验证。

如果这澄清了你的问题?