Внешний интерфейс Taiga отправляет пользовательские изменения атрибутов, даже если они недействительны

В настоящее время я работаю над пользовательской реализацией тайги, и я заметил это, даже если мы поместили шаблон для нашего пользовательского поля ввода в app/partials/custom-attributes/custom-attribute-value-edit.jade пинговать ошибку, если ввод не соответствует указанному шаблону, например, так

input#custom-field-value(name="value", type="tel", pattern="^\\+\\d{1,3}\\s\\d{1,3}\\s\\d{3}\\s\\d{4}$", placeholder="format: +[country_code] [area_code] [xxx] [xxxx] (e.g: +1 234 567 8910)", value!="<%- value %>")

форма все еще отправлена ​​на сервер. хотя я вижу быстрое сообщение о том, что шаблон не совпадает, форма все еще отправлена. самое дальнее, что я получил, чтобы проследить процесс был к этому файлуapp/coffee/modules/common/custom-field-values.coffee

есть часть там для обработки представить

    submit = debounce 2000, (event) =>
        event.preventDefault()

        form = $el.find("form").checksley()
        return if not form.validate()

        input = $el.find("input[name=value], textarea[name='value'], select[name='value']")
        attributeValue.value = input.val()
        if input.prop("type") == 'checkbox'
            if input[0].checkValidity()
                attributeValue.value = !!input.prop("checked")

но это насколько я получил. Моя цель состоит в том, чтобы не допустить отправки, если есть проблемы с проверкой ввода, такие как ввод, не соответствующий указанному шаблону. Я использую текущую версию тайги, которая 3.0.0

1 ответ

Я понял это в конце концов. Тайга использует чексли для проверки формы. вместо того, чтобы использовать "шаблон" для моего регулярного выражения, как обычный валидатор поля ввода, я использовал атрибут data-regexp чексли. Это обработало проверку, в которой я нуждался.

input#custom-field-value(name="value", type="tel", data-regexp="^\\+\\d{1,3}\\s\\d{1,3}\\s\\d{3}\\s\\d{4}$", placeholder="format: +[country_code] [area_code] [xxx] [xxxx] (e.g: +1 234 567 8910)", value!="<%- value %>")

документацию можно найти по следующей ссылке

https://media.readthedocs.org/pdf/checksley/latest/checksley.pdf

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