问题:我的客户端rails表单输入格式验证无法按照regex的设置方式工作。
我有以下rails表单输入:
<%= form.text_field :twitter_link,
class: "form-control",
required: true,
pattern: "^(?:https?://)?(?:(?:www|m).)?twitter.com/w+/status/d+(?://?)?$",
title: "Twitter Comment URL" %>
当我输入正确的格式时,它将不会验证,并显示"输入正确格式"消息。
我的模型中的以下正则表达式验证参数:
/A^(?:https?://)?(?:(?:www|m).)?twitter.com/w+/status/d+(?://?)?z/
正如您所看到的,我在模型端验证中做了一些更改,看看它是否有效。我试过其他一些事情,但都没有解决。
适用于我的模型端验证,但不适用于客户端。有什么需要我改变的吗?
我正在进行客户端验证,这样我就可以在不需要flash或重定向的情况下为单个text_field生成自定义消息。任何人,因为我有一个嵌套的表单,深度为3,所以我在将警报显示为flash时遇到问题。现在,无需使用普通flash重新加载页面。不确定问题是什么,但这似乎是一个很好的选择。
如何修复此问题,使regex与输入text_field一起工作?
使用单引号而不是双引号似乎可以达到目的。
<%= form.text_field :twitter_link,
class: "form-control",
required: true,
pattern: '^(?:https?://)?(?:(?:www|m).)?twitter.com/w+/status/d+(?://?)?$',
title: "Twitter Comment URL" %>
不知道为什么我以前没有尝试过,因为我在过去的双与单中遇到过类似的问题