Angularjs Angular js ng消息在初始化时显示错误

Angularjs Angular js ng消息在初始化时显示错误,angularjs,ng-messages,Angularjs,Ng Messages,在我的项目中,我有angularjs 1.5.10和ng messages 1.5.10。我以简单的形式使用它: <form class="form-horizontal" ng-submit="createBooking()" role="form" name="createBookingForm" novalidate> <div class="form-group"> <label for="pa

在我的项目中,我有angularjs 1.5.10和ng messages 1.5.10。我以简单的形式使用它:

<form class="form-horizontal" ng-submit="createBooking()" role="form" name="createBookingForm" novalidate>
    <div class="form-group">
                            <label for="payment_details_last_name" class="col-sm-3 control-label">Last name</label>
                            <div class="col-sm-6">
                                <input type="text"
                                       id="payment_details_last_name"
                                       name="payment_details_last_name"
                                       class="form-control"
                                       ng-model="payment_details.last_name"
                                       ng-required="true"
                                       ng-maxlength="30" />
                                <div ng-messages="createBookingForm.payment_details_last_name.$error" role="alert">
                                    <div ng-message="required">This field is required</div>
                                    <div ng-message="maxlength">Your field is too long</div>
                                </div>
                            </div>
                            <div class="col-sm-3"></div>
                        </div>
</form>
在开始时,我总是看到错误
,这个字段是必需的
。我试图在控制器中创建空对象:

$scope.members = [{
      'first_name': '',
      'last_name': '',
      'email': '',
      'phone_number': '',
      'date_of_birth': '',
    }];
$scope.createBookingForm = {};
在初始化

什么都没用。使用骨架的项目


我看到过像if$toucted else这样的肮脏黑客,但我想了解出了什么问题……

没有什么问题,请查看中的示例。默认情况下,它们显示了
必需的
错误。乍一看似乎是错误的,但这是处理此类案件的唯一正确方法

所以基本上,ng消息完全按照文档所说的做:

ngMessages是一个用于显示和隐藏消息的指令 基于它侦听的键/值对象的状态

该指令实时工作,并显示当前输入状态的错误,这是有意义的。 因此,如果您希望在默认情况下不显示任何消息,那么应该使用一些方法,这些方法已经讨论了数百次

如果您需要其他一些改进的行为-目前没有快速的解决方案,那么您必须设计出适合您需要的验证引擎