我有一个带有角度验证的表单,我不想在页面加载时运行。这是我的表格的简要示例:
<form ng-submit="vm.submit()" name="form" novalidate>
<input class="form-control" ng-model="vm.userName" required />
<button ng-disabled="form.$invalid && !form.vm.userName.$pristine" type="submit">Log In</button>
</form>
我正在尝试使用!form.vm.userName。$ pristine关闭初始验证,因为用户还没有触及用户名文本框。但是,这不起作用,表单在页面加载时照常验证。我错过了什么吗?
答案 0 :(得分:2)
您需要为输入命名,以便ngFormController可以在其下注册此元素及其验证规则。然后,您就可以查看form.userName.$pristine
:
<form ng-submit="vm.submit()" name="form" novalidate>
<input class="form-control" name="userName" ng-model="vm.userName" required />
<button ng-disabled="form.$invalid && !form.userName.$pristine" type="submit">Log In</button>
</form>