2016-03-28 6 views
0

Angular jを初めて使用しています。私はいくつかのテキストボックスと(検索、ShowAll)の2つのボタンhtmlページを持っています。検索ボタンをクリックすると、すべてのテキストボックスが有効になり、ShowAllをクリックするとすべての検証が行われるべきではありません。モデルボックスの名前を指定せずにテキストボックスの背後にあるすべてのモデルを検証したい(asp .net)。これは可能です角度js?私はここにajax投稿をしています。最初のボタンのクリックですべてのテキストボックスを検証しますが、2番目のボタンはクリックしないでください。

<div ng-controller="myCtrl"> 
 
<table> 
 
       <tr id="dvTransactionSearch"> 
 
        <td align="right"> 
 
         Message ID : 
 
        </td> 
 
        <td align="left"> 
 
         <input type="text" style="width: 170px;" id="txtmessageId" ng-model="MessageId" /> 
 
        </td> 
 
        <td align="right"> 
 
         Consumer ID : 
 
        </td> 
 
        <td align="left"> 
 
         <input type="text" style="width: 170px;" id="txconsumerId" ng-model="ConsumerId" /> 
 
        </td> 
 
</tr> 
 
<tr> 
 
        
 
        <td align="left"> 
 
         <input type="button" id="btnSearch" value="Search" ng-click="Search()" /> 
 
         <input type="button" value="Show All" id="btnShowAll" ng-click="ShowAll()" /> 
 
         
 
        </td>     
 
       </tr> 
 
</table> 
 
</div>

答えて

1

あなたは、角度検証を使用して、HTML自体にそれを検証して、NG-無効として使用することによって有効な入力を得るまで送信ボタンを無効にしておくことができます。

<div ng-controller="myCtrl"> 
    <form name="messageForm" novalidate> 
    <table> 
     <tr id="dvTransactionSearch"> 
      <td align="right"> 
       Message ID : 
      </td> 
      <td align="left"> 
       <input type="text" style="width: 170px;" name="txtmessageId" id="txtmessageId" ng-model="MessageId" required/> 
       <div ng-messages="messageForm.txtmessageId.$error" ng-if="messageForm.$submitted || messageForm.txtmessageId.$touched"> 
         <div ng-message="required"> Enter Text message ID</div> 
       </div> 
      </td> 
      <td align="right"> 
       Consumer ID : 
      </td> 
      <td align="left"> 
      <input type="text" style="width: 170px;" name="txconsumerId" id="txconsumerId" ng-model="ConsumerId" /> 
       <div ng-messages="messageForm.txconsumerId.$error" ng-if="messageForm.$submitted || messageForm.txconsumerId.$touched"> 
         <div ng-message="required"> Enter Consumer ID</div> 
       </div> 
      </td> 
     </tr> 
     <tr>    
      <td align="left"> 
       <input type="button" id="btnSearch" ng-disabled="messageForm.$invalid" value="Search" ng-click="Search()" /> 
       <input type="button" value="Show All" ng-disabled="messageForm.$invalid" id="btnShowAll" ng-click="ShowAll()" /> 

      </td>     
     </tr> 
    </table> 
    </form> 
</div> 
+0

はいその良いオプションですが、実際には私はajax呼び出しを行っているので、ここでフォームタグを使用したくありません。 – user1153540

+0

あなたはjsバリデーションのために行く必要があります。すべてのバリデーションが完了するまでng-disabledを使用し、すべてのフィールドが有効な場合は有効にすることができます。あなたがjavascriptを使用している場合、ng-modelなしでvlidateすることはできません。まだdocument.get要素を使用することができます。それはまだcuberedomeです – Kailas

関連する問題