2

フォームの自動検証を防ぐ方法は?フォームを使用してテンプレートをロードするたびに、入力にデータが入力されていなくても、テンプレートは自動的に検証されます。
送信時に検証をトリガーしたい。

HTML:

<span ng-show='message.$invalid == true'>This e-mail is black-listed!</span>
    <form novalidate class="dealermessageform" name="message">
        <input type="text" name="messagename" placeholder="Name" class="messagename" ng-model="user.name" required>
        <input type="email" name="messageemail" placeholder="E-Mail Adresse*" class="messageemail" ng-model="user.email" required>
        <textarea class="message" name="message" placeholder="Schreibe eine Nachricht. *" required></textarea>
        <span class="help-block">*alle markierten Felder sind Pflichtfelder</span>
        <div class="grid_4 alpha omega submitbutton">
            <input type="submit" class="submitbutton" value="Senden" id="submit" ng-click="send()">
        </div>
    </form>  

そして、送信後にいくつかのエラーがTRUEである場合にのみ、フォームの上に「スパン」フィールドを表示することはどのように可能ですか?
フォームに入力すると直接表示されます。

4

1 に答える 1

1

検証がすでに行われている場合は、問題にはなりません。エラーメッセージを表示するべきではありません。またはを使用するかどうかに応じて、 $pristineまたは$dirtyを使用してこれを行うことができます。ng-showng-hide

<span class="help-block" ng-show="message.$dirty && message.$invalid">*alle markierten Felder sind Pflichtfelder</span>

send()関数では、パラメーターとして追加することをお勧めしmessageます。ng-submit代わりにフォームタグで使用することもできます。

于 2013-01-08T11:03:58.723 に答える