【发布时间】:2016-01-03 14:03:18
【问题描述】:
我想在提交表单后重置表单和所有验证消息。这是plunker:http://plnkr.co/edit/992RP8gemIjgc3KxzLvQ?p=preview
我的代码如下:
控制器:
app.controller('MainCtrl', function($scope) {
$scope.data={fullName:''};
$scope.submit=function(){
console.log('submit')
$scope.myForm.$setPristine();
$scope.myForm.$setUntouched();
$scope.data={fullName:''};
}
});
HTML:
<body ng-controller="MainCtrl">
<form name="myForm" novalidate>
<div>
<label class="control-label">Name</label>
<input
name="full_name"
type="text"
ng-model="data.fullName"
ng-required="true">
<p ng-if="myForm.$submitted && myForm.$invalid">Validation message</p>
</div>
<button ng-click="submit()" type="submit">
Submit
</button>
</form>
</body>
我的问题是: 当用户在输入中输入名称并单击提交按钮时,不应显示验证消息,因为应重置模型、表单和验证。我该怎么做?
我尝试使用 $setPristine() 和 $setUntouched(),但它对我不起作用。
在 AngularJS 中可以做到吗?谢谢!
【问题讨论】:
标签: javascript angularjs validation