我搜索了主题服务器端验证,但每个解决方案仅在提交按钮上完成。如何从输入变化中做到这一点?如果我们可以在输入上添加函数或指令,那么当输入有效时如何验证整个表单?
答案 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”为真,那么您可以触发后端验证。
如果这澄清了你的问题?