Создайте условие, чтобы разрешить только один параметр - PullRequest
0 голосов
/ 08 октября 2019

Я новичок в javascript, и мне просто нужна помощь, чтобы понять, какой алгоритм мне нужно сделать.

Создать условие, разрешающее только один параметр в сообщении aria-error в объекте

var ariastatesproperties = {
	'aria-errormessage': { type: ['relationship', 'widget'], global: true }, // id reference
<div role="textbox" aria-errormessage="error1 error2" aria-label="A textbox with an error"></div>

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Вы можете сканировать документ с помощью этого цикла:

for (let elem of document.querySelectorAll("[aria-errormessage]")) {
    if (elem.getAttribute("aria-errormessage").includes(" ")) {
        console.log("invalid: ", elem.outerHTML);
    }
}

Если вы хотите использовать filter, то сначала превратите нодлист в массив:

let invalidElems = Array.from(document.querySelectorAll("[aria-errormessage]"))
          .filter(elem => elem.getAttribute("aria-errormessage").includes(" "));

Если пробелыв самом начале или в конце значения атрибута являются приемлемыми, затем сначала обрежьте значение перед проверкой на наличие пробела:

elem.getAttribute("aria-errormessage").trim().includes(" ")
0 голосов
/ 08 октября 2019

Просто получите проверенный элемент. Затем проверьте атрибут "aria-errormessage". Если оно содержит более одного слова, это будет ошибкой.

var div = document.getElementById('div-id');
if (div["aria-errormessage"].split(" ").length > 1) {
    return "error";
} else {
    return "ok";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...