gpt4 book ai didi

javascript - 输入验证 : change default error message

转载 作者:行者123 更新时间:2023-11-29 10:02:38 25 4
gpt4 key购买 nike

如果我在 vue 上这样做:

<input pattern="\d+">

它得到了正确的验证,但我收到一个弹出消息“请匹配请求的格式”。

有什么办法可以改变这个信息吗?我找不到有关已接受的验证标签的文档。

JSFiddle:http://jsfiddle.net/ovz5p3wt/

最佳答案

因此,如评论中所述,实现方法是使用 oninvalidsetCustomValidity

<input pattern="\d+" oninvalid="setCustomValidity('please use a number')">

但是,如果您想使用脚本来完成此操作(因为您将标记为 vue),这是另一种解决方案,它允许您动态更改可以使用脚本版本的值。不幸的是 @oninvalid 似乎不被 vue 支持,所以你需要使用 $refs 设置功能

updateCustomValidity(lang){
var el = this.$refs.el;
el.oninvalid = el.setCustomValidity(this[lang].message);
}

new Vue({
el: "#app",
data() {
return {
lang: 'en',
en: {
message: 'nope, sorry',
},
fr: {
message: 'sacre bleu'
}
}
},
watch: {
lang: {
handler(lang) {
this.updateCustomValidity(lang);
}
}
},
methods: {
updateCustomValidity(lang){
var el = this.$refs.el;
el.oninvalid = el.setCustomValidity(this[lang].message);
}
},
mounted() {
this.updateCustomValidity(this.lang);
}
})
body { background: #20262E; padding: 20px; font-family: Helvetica;}
#app { background: #fff; border-radius: 4px; padding: 20px; transition: all 0.2s;}
input { margin: 8px 0;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>

<div id="app">
EN: <input type="radio" v-model="lang" value="en">
FR: <input type="radio" v-model="lang" value="fr">
<form>
<input pattern="\d+" value="text" ref="el">
<button type="submit">Submit</button>
</form>
</div>

关于javascript - 输入验证 : change default error message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52302245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com