小提琴: https://jsfiddle.net/v45hrqs1/7/
因此,我使用pattern
属性在HTML中构建一个小表单,以检查是否给出了有效的文件名。它工作正常,所以当我输入类似filename/
的内容并按回车键时,这将被捕获,我收到消息“请匹配请求格式”。
然后我想要一个更自定义的消息,所以我添加了javascript部分。现在,当我输入无效的文件名并按回车键时,将显示新消息,到目前为止一切顺利。
但是,当我现在将文件名更改为有效文件名时,我仍然收到错误消息。
我做错了什么?我的想法是在更改文件名后,var input
未更新。但我不知道如何解决这个问题。
答案 0 :(得分:1)
您不一定需要JavaScript。你可以像这样在输入上设置有效性检查:
<input type="text" class="form-control" id="packet_name" name="packet_name" pattern="[^\\/:\x22*?<>|]+" oninvalid="setCustomValidity('Invalid character in name:\n \ / : * ? < >.')" oninput="setCustomValidity('')" maxlength="100" required>
oninput
将清除自定义有效性,以便在更改后重新评估。