В настоящее время я знаю, как установить проверку для каждого поля.
Но я понятия не имею, как я могу отключить кнопку отправки, прежде чем все поля будут действительны.
Включите кнопку отправки, как только все поля будут действительны.
<div class="form-group">
<label>Name</label>
<span ng-messages="form.name.$error" class="alert">
<span ng-message="required">{{I18n.t("required_field_could_not_be_empty")}}</span>
</span>
<input type="text" class="form-control" ng-model="payment_contact.name" required="required" name="name">
</div>
....
<label>Email</label>
<span ng-class="{'alert':form.email_booking.$error.email}" ng-show="form.email_booking.$error.email" >
{{I18n.t("invalid_format")}}
</span>
<input type="email" id="email_booking" name="email_booking" class="form-control" ng-model="payment_contact.email">
</div>
<a ng-click="place_order()" class="btn_1 green medium">Book now</a>
используйте директиву ng-submit
Это позволит вам только отправить форму, если она действительна.
Поскольку ваша форма уже имеет имя (форму), просто добавьте к вашей кнопке ng-disabled="form.$invalid"
(ссылка?).