我正在编写 Nuxt Web 应用程序,但遇到了一些奇怪的事情。
export default {
name: 'post',
validate({ params }) {
return /^[a-zA-Z0-9_]+$/.test(params.postname)
}
}
这接受“空字符串”,即使它不应该。如果它不接受空字符串,则应显示 404 错误页面,但不会显示。
export default {
name: 'post',
validate({ params }) {
return /^[a-zA-Z0-9_]{1,}$/.test(params.postname)
}
}
这也行。据我所知,+
并且{1,}
是相同的。为什么+
并{1,}
接受空字符串?
如果字符串未定义,则该test()
方法返回true
。所以使用:
return params.postname !== undefined && /^[a-zA-Z0-9_]+$/.test(params.postname);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句