显示有关在Angularjs中提交表单的验证消息

时间:2017-07-30 12:04:06

标签: javascript html angularjs html5

我想在用户点击提交表单后显示验证消息。 例如,文本框是必需的,用户直接点击提交按钮,然后应显示验证字段。

当用户点击表单时,没有任何事情发生。

<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>

1 个答案:

答案 0 :(得分:2)

当角度提交表单时,它会在表单级别将$submitted属性设置为true,同时它会在ng-submitted的类属性上添加form类。

您可以使用$submitted等表单对象的myForm.$submitted属性来识别该表单是否已提交

ng-show="myForm.$submitted && myForm.uname.$error.required"

Demo Plunker