これがドキュメントでカバーされている場合は事前にお詫び申し上げますが、見つけられないようです。
Twitterのブートストラップを使用しているため、いくつかのボタンを使用する非常に簡単なフォームがあります。問題は、フォーム内のいずれかのボタンをクリックすると、angular への送信イベントがトリガーされるように見えることです。私のフォームには、「require」属性を使用する入力フィールドがいくつかあるため、任意のボタンをクリックすると、フィールドが必要。ユーザーが実際の送信ボタンをクリックしたときにのみ検証が行われることを除いて、これはすべて問題ありません。
ng-submit をこれまで false のみを返す関数に設定しようとしましたが、これは何の効果もないようでした。
更新: event.preventDefault() を使用するディレクティブを使用して、一時的な回避策を見つけました。ただし、これは少し過剰に思えます。また、すべてのボタンに取り付ける必要があることも意味します。
<div class="row-fluid">
<div class="span12">
<form ng-submit="onSubmit()" class="form-horizontal">
<div class="row-fluid">
<div class="span12">
<div class="katana-technician-form">
<div class="control-group">
<label class="control-label">Tekniker
<div class="controls">
<div class="input-append">
<input type="text" class="span2" />
<div class="btn-group">
<!-- Triggers onSubmit-->
<button data-toggle="dropdown" class="btn dropdown-toggle">Velg<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>Kake</li>
<li>Bake</li>
</ul>
</div>
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<!-- Triggers onSubmit-->
<button type="submit"></button>
</div>
</div>
</div>
</form>
</div>
</div>