Javascript 如何防止无效输入

Javascript 如何防止无效输入,javascript,html,validation,Javascript,Html,Validation,设el=document.querySelector'input'; el.onkeyup=函数E{ 如果e.target.willValidate&!e.target.validation.validate{ //无效的 e、 防止违约; } }; el.oninput=函数E{ result.innerHTML=e.target.value; }; 您可以保存对最后一个有效值的引用,并在输入无效值时插入该引用: 设el=document.querySelector'input'; 让拉斯瓦

设el=document.querySelector'input'; el.onkeyup=函数E{ 如果e.target.willValidate&!e.target.validation.validate{ //无效的 e、 防止违约; } }; el.oninput=函数E{ result.innerHTML=e.target.value; };
您可以保存对最后一个有效值的引用,并在输入无效值时插入该引用:

设el=document.querySelector'input'; 让拉斯瓦尔; el.oninput=函数E{ 如果this.willValidate&!this.validation.valid{ this.value=lastVal; }否则{ lastVal=el.值; result.innerHTML=e.target.value; } };
下面是一个使用onpaste事件的解决方法。但它会获取最小值和最大值,然后尝试手动验证该值。但如果粘贴了错误的值,它将防止更改输入值

设el=document.querySelector'input'; el.onpaste=函数e{ var pastedVal=e.originalEvent | | e.clipboardData.getData'text/plain'; ifpastedValparseIntel.getAttributemax{ e、 防止违约; } };
我可能是在追求你提到的“复杂”路线,因为这是一个大型Vue应用程序中的简化示例,所以我不能只设置一个lastVal:我在keyUp事件中尝试了preventDefault,但它似乎不起作用。你是说使用keyUp事件?它不会阻止保存值。我已经更新了我的示例。我认为您可以在Vue中执行相同的操作-在输入时,如果值无效,请还原到上一个有效输入,Vue是否有什么东西阻止它成为选项?我制作了一个代码片段,它似乎可以工作,但正如我所说,它会闪烁。在我的生活中从未使用过Vue,也许有更好的方法。你试过这个片段吗?