2016-11-09 5 views
0

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

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

ответ

0

В итоге я понял. Тайга использует checkley для проверки формы. вместо того, чтобы использовать «шаблон» для моего регулярного выражения, например, для обычного валидатора ввода, я использовал данные атрибута checkley-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

 Смежные вопросы

  • Нет связанных вопросов^_^