javascript - AngularJS フォームカスタム検証-少なくとも 1 つの入力が空の場合はチェック



html validation (2)

このような単純なHTMLフォームを考えます。

<form name="myForm" action="#sent" method="post" ng-app>
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference" />
... submit input and all the other code...
</form>

少なくとも1つの入力が空の場合、検証時間を確認する方法を知るためにあなたの助けが必要です。 望ましい検証は次のとおりです。 ユーザーは少なくとも1つの設定を完了する必要があります。

jQueryを使う

if ( $("input").val() == "" ) {

うまくいきますが、angleを使って同じことをする方法を見つけたいと思います。

どうもありがとうございます

ギレルモ


Answer #1

あなたはフォームの$ validであなたがどのように処理したいか入力要素とスタイル/コードで "required"を設定することができます。 http://dailyjs.com/2013/06/06/angularjs-7/チェックしてください


Answer #2

そのため、すべての入力が空白の場合は送信ボタンを無効にすることをお勧めします。 こんなことができます

<form name="myForm" action="#sent" method="post" ng-app>
   <input name="userPreference1" type="text" ng-model="shipment.userPreference1" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference2" />
   <input name="userPreference1" type="text" ng-model="shipment.userPreference3" />

   <button type="submit" ng-disabled="!(!!shipment.userPreference1 || !!shipment.userPreference2  || !!shipment.userPreference3)">Submit</button>
</form>

!!strは、 strboolean値に変換することを強制するものです。 そして!!null!!""両方がfalse評価されfalse

Demo





angularjs