Есть ли способ использовать обещание с настраиваемой проверкой в ​​семантическом пользовательском интерфейсе

Есть ли способ использовать обещание с настраиваемым правилом семантического пользовательского интерфейса? Я хочу проверить поле своим настраиваемым правилом. Если ответ сервера ложный, поле должно быть красным. Вот что я пытаюсь сделать.

$.fn.form.settings.rules.myCustomRule = function(param) {
let myPromise = this.get('api').r_get(allUrls.urlName, model);
  myPromise.then(
    response => {
        return true;
    }
  ).catch(
    error => {
        return false;
    }
  );
}
1
0
131
1

Ответы 1

Вы можете добавить класс error в div или input, когда обещание возвращает false. Это сработает? Нравится:

function simulateServer(){
  $('#serverresponse').addClass('error');
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="serverresponse" class="ui input">
  <input type="text" placeholder="Search...">
</div>

<br><br>
<button onclick="simulateServer()">Contact Server</button>

Это было бы невозможно с обещанием настраиваемого правила, так как оно ожидает немедленного ответа.

Я проверил исходный код, время задержки составляет 200 мс. Спасибо за Ваш интерес. Я просто хочу убедиться, есть ли способ обойтись без манипуляций с CSS.

A. Kürşat UZUN 11.09.2018 08:43

Другие вопросы по теме