我想在用户点击提交表单后显示验证消息。 例如,文本框是必需的,用户直接点击提交按钮,然后应显示验证字段。
当用户点击表单时,没有任何事情发生。
<body ng-controller="AppController as ctrl">
<form ng-submit="ctrl.submit()" name="myForm" novalidate>
<input type="text" ng-model="ctrl.user.username" name="uname" class="username" placeholder="Enter your name" required ng-minlength="3" />
<span ng-show="myForm.$dirty && myForm.uname.$error.required">This is a required field</span>
<input type="text" ng-model="ctrl.user.address" placeholder="Enter your Address" /><br /><br />
<input type="email" ng-model="ctrl.user.email" name="email" class="email" placeholder="Enter your Email" required />
<span ng-show="myForm.$dirty && myForm.email.$error.required">This is a required field</span>
<input type="submit" value="Submit">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js">
</script>
<script>
angular.module('myApp', [])
.controller('AppController', [function () {
var self = this;
self.submit = function () {
console.log('Form is submitted with following user', self.user);
};
}]);
</script>
答案 0 :(得分:2)
当角度提交表单时,它会在表单级别将$submitted
属性设置为true
,同时它会在ng-submitted
的类属性上添加form
类。
您可以使用$submitted
等表单对象的myForm.$submitted
属性来识别该表单是否已提交
ng-show="myForm.$submitted && myForm.uname.$error.required"