есть поддержка атрибута pattern при использовании form_for?шаблон регулярного выражения с формой для ruby on rails
<%= form_for order_form do |f| %>
<%= f.label "name" %>
<%= f.text_field :name, required: true %>
<%= f.label "Number" %>
<%= f.telephone_field :phone, pattern: "\\d{10}" %>
<%= f.submit %>
Я пытаюсь собрать регулярное выражение, чтобы гарантировать, что телефонные номера в правильном формате. Моя проблема заключается в том, что шаблон атрибут не займет регулярное выражение только строки
<%= f.telephone_field :phone, pattern: /\d{10}/ %> doesnt work
так, когда я пишу регулярное выражение в виде строки это вызывает проблемы, (например, того, чтобы избежать обратного слэша, например
"\\d{10}" == /\d{10}/
я должен просто отказаться используя form_for в этой форме, или есть способ использования form_for и сопоставление с образцом вместе
Вы можете использовать JavaScript для проверки на бланках на переднем конце, или рельсы модели валидаций (а затем и БД проверки) на заднем конце. Это то, что я знаю - возможно, что form_for или html5 имеют свои собственные проверки. – Dbz
Почему «шаблон:» \\ d {10} «проблема? Атрибут ['pattern'] (https://www.w3.org/TR/html5/forms.html#the-pattern-attribute) в HTML содержит текст, который интерпретируется как регулярное выражение JavaScript (а не Ruby). Если набрав '\\ d', на самом деле так много проблем, вместо этого используйте' pattern: '\ d {10}' '. Встраивание одного языка внутри другого всегда немного грязно, тем более, когда вы встраиваете один язык (JavaScript-регулярное выражение) внутри другого (HTML) внутри другого (Ruby) внутри другого (ERB). –
его не об ускорении обратных косых черт, являющемся проблемой или хлопот, я просто пытаюсь убедиться, что использую лучшие практики – ChadTheDev