【问题标题】:HTML5 - simple pattern don't works with Smarty [closed]HTML5 - 简单模式不适用于 Smarty [关闭]
【发布时间】:2013-12-17 20:58:05
【问题描述】:

我正在使用这样的简单模式:

<input type="text" pattern="[a-z]{2}" required ../>

但它永远无效。好像没用。

我在 Firefox 中测试过

有什么可以激活的吗?

我的模板:

<section class="inscription">

<h1>Inscription</h1>

    <form method="post" enctype="multipart/form-data">

    <div class="formu-inscription">

        <label for="nom"> Nom : </label> <br/><input  type="text"  id="nom" name="nom" value="{set_value('nom')}"  pattern="[a-z]{2}" required />  <br />
            {form_error('nom')} 

/* others inputs */

【问题讨论】:

  • JSFiddle?哪些输入不起作用?我们可以举一些例子吗?
  • 在 FF26 中,您的模式通过 aa 并正确失败 AZ。也许还有其他问题。发布您的实际代码。
  • This fiddle 在 Chrome 31、Mac 上为我工作
  • 你的例子有效@JamesWebster,但不是我的..不知道为什么
  • @MikeW 我再也看不到链接了?该网站是关于他使用相同功能和不同模式的示例页面的问题。

标签: regex html css smarty


【解决方案1】:

对于使用 smarty 模板的人,你可以这样做

pattern="[a-z]{literal}{2}{/literal}"

【讨论】:

  • 您能否在您的问题上添加额外的标签,以便更容易识别这是 Smarty 的问题。
【解决方案2】:

查看您发布的渲染源代码作为对您现在已删除的答案的评论

 <input type="text" id="nom" name="nom" value="" pattern="[a-z]2" required />

这不是您在问题中发布的来源中的模式。您似乎正在使用一些未指定的模板系统,该系统使用 {} 字符作为字段标识符并且误解了您的模式。

渲染页面中的结果是模式[a-z]2,它将验证a2f2 之类的字符串,但不会验证a、或aaa3 或任何更长的字符串。

由于您尚未指定您使用的模板系统,因此无法说明您如何解决此问题。 [a-z]{{2}} 的模式可能会起作用。

【讨论】:

  • 天哪..我完全忘记了模板解析..非常感谢你!我在新的答案中为人们添加了良好的响应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 2020-07-06
相关资源
最近更新 更多