2015-09-07 2 views
1

Я хочу использовать это регулярное выражение /^[a-zA-Z0-9 ]*$/ для ограничения специального характера в представлениях самогоОграничить пользователь вводить специальные символы в рельсах

<%= text_field_tag :realname, params[:realname], :class => "form-control", placeholder: "Realname", id: "Text--AreaFocus" , pattern: "/^[a-zA-Z0-9 ]*$/" %>

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

+0

Я думаю, что мой этот код не работает <% = text_field_tag: realname, params [: realname],: class => «form-control», placeholder: «Realname», id: «Text - AreaFocus»% > –

+0

Regex работает, проверка рабочего шаблона не работает. –

+0

'<% = text_field_tag: realname, params [: realname], pattern:"/^ [a-zA-Z0-9] * $/",: class =>" form-control ", placeholder:" Realname "," id: "Text - AreaFocus"%> ' –

ответ

1

Вы должны указать класс как "form-control" и удалить двойные кавычки из вокруг регулярных выражений, которые вы объявляете с помощью литерала:

<%= text_field_tag :realname, params[:realname], pattern: /\A[a-zA-Z0-9 ]*\z/, :class => "form-control", placeholder: "Realname", id: "Text--AreaFocus" %> 
                 ^    ^   ^^^^^^^^^^^^ 

Кроме того, так как RoR, чтобы соответствовать начало и конец строки , вы должны использовать привязки и \z вместо ^/$.

0

Возможно, this поможет вам?

Так положить что-то подобное в вашей модели:

validates_format_of :realname, :with: /^[a-zA-Z0-9 ]*$/ 
0

Мы можем сделать pattern распознавания с HTML тегов.

<%= text_field_tag :realname, params[:realname], pattern: "/^[a-zA-Z0-9 ]*$/", :class => "form-control", placeholder: "Realname", id: "Text--AreaFocus" %> 

Также я рекомендую вам написать подтверждение в Model.

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