Проверять все текстовые поля при первом нажатии кнопки, но не при втором нажатии кнопки в Angular JS

0

Я очень новичок в Angular js. У меня есть несколько текстовых полей и две кнопки (Search, ShowAll) на странице html. При нажатии кнопки "Поиск" все текстовые поля должны быть проверены, и для щелчка на ShowAll не должно быть никаких проверок. Я хочу проверить все модели за текстовыми полями за один раз, не указав каждое имя модели (например, группу валидации в asp. нетто). Возможно ли это в угловых js? Я делаю пост ajax здесь.

<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 ответ

1

вы можете проверить его в самом html, используя угловые проверки и удерживать кнопку отправки отключенной, пока не получите действительный ввод, используя ng-disabled как:

    <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.
  • 0
    тогда вам придется пройти проверку js, вы все равно можете использовать ng-disabled, пока все проверки не пройдут, и включить, если все поля действительны. Вы не сможете просматривать без ng-моделей, если вы используете javascript, вы все равно можете использовать элемент document.get, если он по-прежнему сложен

Ещё вопросы

Сообщество Overcoder
Наверх
Меню