首先,您需要使用正確的元素和相應的類名。您需要將輸入包裝到div
中,並且類名稱爲form-group
,並且需要將其包裝爲form
元素。實際input
需要有form-control
類:
<form>
<div class="form-group">
<input type="text" class="form-control" size="10" ng-model="data.myNumber" required/>
</div>
</form>
一個很好的閱讀上正確使用與引導的形式可以在這裏找到:
http://getbootstrap.com/css/#forms
現在,這是一個正確的引導的形式,你可以添加角度驗證。這是非常簡單的只是通過給表單和輸入一個名稱屬性:
<form name="modalForm">
<div class="form-group">
<input name="modalInput" type="text" class="form-control" size="10" ng-model="data.myNumber" required/>
</div>
</form>
現在的角度會在後臺瓶坯驗證。它會將modalForm
添加到您的模態控制器的範圍中,您可以從中獲取表單的狀態以及它的輸入元素。
現在由於required
屬性,輸入和表單被認爲是無效的,可以使用以下方法進行檢查:modalForm.modalInput.$invalid
當輸入爲空時,將返回true。您可以使用它將has-error
類添加到form-group
div元素,該元素將使輸入元素的邊框變爲紅色。您可以通過使用ng-class
指令動態地添加這個類:
<div class="form-group" ng-class="{ 'has-error': modalForm.modalInput.$invalid }" >
<input name="modalInput" type="text" class="form-control" size="10" ng-model="data.myNumber" required/>
</div>
</form>
你也可以添加這也將通過has-error
類是彩色的消息。添加span
元素與help-block
類,並使用ng-show
指令切換它的所需錯誤:
<div class="form-group" ng-class="{ 'has-error': modalForm.modalInput.$invalid }" >
<input name="modalInput" type="text" class="form-control" size="10" ng-model="data.myNumber" required/>
<span ng-show="modalForm.modalInput.$error.required" class="help-block">Input is required.</span>
</div>
</form>
現在,如果你想使它不可能推動ok
按鈕時,形式是無效的,你可以切換disabled
類和/或增加使用ng-disabled
指令:
我建議你閱讀的引導形式以前的鏈接和使用的角度的形式以下指南。它具有很好的例子:
https://docs.angularjs.org/guide/forms
下面是完整的模態代碼和Plunker一個工作示例:
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">My Modal</h3>
</div>
<form name="modalForm">
<div class="modal-body">
<div class="form-group" ng-class="{ 'has-error': modalForm.modalInput.$invalid }" >
<input name="modalInput" type="text" class="form-control" size="10" ng-model="data.myNumber" required/>
<span ng-show="modalForm.modalInput.$error.required" class="help-block">Input is required.</span>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-disabled="modalForm.$invalid" ng-class="{ 'disabled': modalForm.$invalid }" ng-click="ok()">OK</button>
<button class="btn btn-primary" ng-click="cancel()">Cancel</button>
</div>
</form>
</div>
http://plnkr.co/edit/GUE3sGci478obwOrzhNw?p=preview
PS:我知道這不回答你的問題以及如何在按鈕點擊時進行輸入驗證,但這是因爲它不是使用表單的「角度方式」。上述和我提供的鏈接應該給你一個關於如何在Angular中正確使用驗證的好主意。希望它有幫助,祝你好運。