【发布时间】:2013-12-02 22:17:27
【问题描述】:
我正在寻找使用 Foundation 的 Abide 插件来验证上传到 type="file" 输入标签的文件扩展名的类型,但我无法正确验证针对 RegExp 的检查。
html:
<div class="large-2 columns button">
<input id="uploadResume" type="file" required pattern="resume" />
<small class="error">PDF or Word Document only please</small>
</div>
javascript:
$(document)
.foundation().foundation('abide', {
patterns: {
// check if the last 3 letters are acceptable
resume: /^.(doc|DOC|pdf|PDF)*$/
}
});
【问题讨论】:
-
检查我的答案,因为您提供的正则表达式可能会给您带来麻烦,如果不是您得到什么错误?
-
@tafari 我尝试使用下面提供的两个示例,我相信您的回答是正确的,但我调用该函数的方式可能不正确,因为一旦我单击它就会出错文件输入。我单击输入,一旦我的文件选择出现,即使在选择了正确的 .pdf、.PDF、.doc 或 .DOC 后,该错误仍然存在。我相信问题出在我的 abide jquery 要求文件输入
-
您正在尝试使用您的 pattern 验证 file,我建议尝试我给您的 pattern首先是一个简单的文本输入,例如:
input type="text" pattern="resume" required>,看看它是否在那里工作,如果是,那么它与输入类型有关。只需检查它,如果它也失败了,我们将需要更深入:> 干杯,祝你好运! -
@Tafari 我将文件输入交换为文本输入以测试您的想法,不幸的是,regExp 看起来有问题。只是为了仔细检查它不是 javascript 中的 Abide 调用,我复制了他们的字母数字 redExp 并给它一个自定义名称,然后在有效的输入上调用它。我仍然担心它对于文件类型输入根本不起作用,但让我们先让文本输入版本工作并看看
-
尝试在开始和结束使用不带正斜杠
/的命名模式,想知道它是否有帮助:?我还检查了Abide foundation docs 并引用它,您必须像这样定义您的命名 模式:By overriding Abide during Foundation initilization, you can define your own custom patterns or override the default patterns to validate against.实际上看起来您做得对,但这可能是个问题,请尝试使用pattern 直接在 input 中,无需命名。
标签: javascript regex validation zurb-foundation abide