【问题标题】:AngularJS form: formName.$valid is always been trueAngularJS 表单:formName.$valid 始终为真
【发布时间】:2016-07-14 21:19:01
【问题描述】:

我的 Angular 应用程序中有一个表单,html 代码如下,但即使输入字段为空白,formName.$valid 也始终为真。

<form name="contactForm" novalidate ng-submit="processForm(formData)" autocomplete="off">
            <div id="name-group" class="form-group">
                <input type="text" name="contactName" class="form-control" placeholder="Name*" ng-model="formData.contactName">
                <!--<span class="help-block" ng-show="errorName"></span>-->
            </div>
            <div id="email-group" class="form-group">
                <input type="email" name="contactEmail" class="form-control" placeholder="Email*" ng-model="formData.contactEmail">
                <!--<span class="help-block" ng-show="errorSuperhero"></span>-->
            </div>
            <div id="phone-group" class="form-group">
                <input type="tel" name="contactPhone" class="form-control" placeholder="Phone*" ng-model="formData.contactPhone">
                <!--<span class="help-block" ng-show="errorPhone"></span>-->
            </div>
            <div id="content-group" class="form-group">
                <textarea  rows="5" cols="50" name="contactMessage" class="form-control" placeholder="Message" ng-model="formData.contactMessage"></textarea>
                <!--<span class="help-block" ng-show="errorContent"></span>-->
            </div>
            <div class="btn-block">
                <button type="submit" ng-disabled="contactForm.formData.$invalid" class="btn btn-success btn-lg">
                    <span class="glyphicon glyphicon-share-alt"></span> Submit!
                </button>
                <button ng-disabled="contactForm.formData.$dirty" type="reset" class="btn btn-info btn-lg">
                    <span class="glyphicon glyphicon-refresh"></span> Reset!
                </button>
            </div>
</form>

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript html angularjs forms ng-messages


    【解决方案1】:

    您没有对任何元素设置验证,因此表单始终有效。如果你想让一个字段不为空,你可以这样写:

    <input type="text" name="contactName" class="form-control" placeholder="Name*" ng-model="formData.contactName" required>
    

    【讨论】:

      猜你喜欢
      • 2016-01-20
      • 2012-11-23
      • 2015-08-21
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2019-02-01
      相关资源
      最近更新 更多