【发布时间】:2017-06-20 08:02:53
【问题描述】:
我想验证表单中的文本输入,因此在输入匹配正则表达式之前无法完成表单的提交。但是当我输入错误的字段值并单击提交时,表单已提交但输入值未发送到服务器。我想要与 HTML5 required Attribute 相同的行为。这是我的代码:
<div class="row">
<label class="col-sm-2 label-on-left">APN</label>
<div class="col-sm-7">
<div class="form-group label-floating">
<label class="control-label"></label>
<input class="form-control" type="text" name="apn" ng-model="Configure3gCtrl.configure3g.apn" ng-pattern="/^[a-zA-Z0-9-.]*$/" required/>
</div>
</div>
</div>
【问题讨论】:
-
这就是角度的工作原理,除非它有效,否则它不会在 ng-model 中设置值。您必须在提交功能中检查表单的有效性。
-
值未发送,因为当您以不正确的模式传递输入时,
ng-model是undefined -
使用 ng-required 时,提交按钮在字段不为空之前不会提交表单。我可以为 ng-pattern 实现类似的东西而不是在控制器函数中编码吗?
标签: javascript angularjs forms angularjs-ng-pattern