[英]Custom validation in vuelidate plugin
我已經為我的 Nuxt 項目集成了 Vuelidate 插件,我想向它添加一個自定義驗證,只要用戶輸入 URL 然后 www. 被替換,然后我可以使用正則表達式檢查該字符串(?:(?:[a-zA-Z0-9])(?:[-.][a-zA-Z0-9])?)+(?:\.[az]{2,6})+$
這是我試圖實現它的方式
const customValidate = (value, vm) => {
this.domainCheck = value.replaceAll('www.')
return vm.domainCheck.match(
/(?:(?:[a-zA-Z0-9])(?:[-.][a-zA-Z0-9])?)+(?:\.[a-z]{2,6})+$/
)
}
data(){
return{
domainName: ''
domainCheck : ''
}
}
validations:{
domainName:{
customValidate
}
}
有沒有辦法實現這一點,或者只有在提交表單並檢查驗證后才有可能?
看起來我找到了解決問題的方法,我是通過以下方式完成的:
const customDomainCheck = (value) => {
let domainCheck = ''
if (value.includes('www.')) {
domainCheck = value.replaceAll('www.')
}
if (domainCheck) {
// eslint-disable-next-line prefer-regex-literals
const regex = new RegExp(
/(?:(?:[a-zA-Z0-9])(?:[-.][a-zA-Z0-9])?)+(?:\.[a-z]{2,6})+$/
)
return regex.test(domainCheck)
}
return true
}
data(){
return{
domainName: ''
}
}
validations:{
domainName:{customDomainCheck}
}
任何進一步的建議都會很棒!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.