3

我想提出一个条件并为每个人调用一个 swal (Sweetalert2)。但只有一只燕子跑。我该怎么做?

function validateEmail(email) {
  var regex = /\S+@\S+\.\S+/;
  return regex.test(email);
}

function validateBirth(data) {
  var regex = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
  return regex.test(data);
}

function validacao() {
  var data = document.getElementById('birth').value;
  var email = document.getElementById('email').value;
  if (!validateBirth(data)) {
    swal(
      'title..',
      'text..',
      'type..'
    );
  }
  if (!validateEmail(email)) {
    swal(
      'title..',
      'text..',
      'type..'
    );
  }
}
4

1 回答 1

8

2021 年更新:

只需从以下位置做出您的功能asyncawait承诺Swal.fire()

async function validacao() {
  var data = document.getElementById('birth').value;
  var email = document.getElementById('email').value;
  if (!validateBirth(data)) {
    await Swal.fire(
      'title..',
      'text..',
      'type..'
    );
  }
  if (!validateEmail(email)) {
    await Swal.fire(
      'title..',
      'text..',
      'type..'
    );
  }
}

旧答案不适用于最新版本的 SweetAlert2:

swal.queue(),用于多种模式。

您的案例应如下所示:

var modals = [];

// birth modal
if (!validateBirth(data)) {
  modals.push({title: 'title1', text: 'text1', ... });
}

// email modal
if (!validateEmail(email)) {
  modals.push({title: 'title2', text: 'text2', ... });
}

Swal.queue(modals);
于 2016-06-28T20:56:07.227 回答