在Adonis.js 5验证器中,没有一个名为“字母数字”的选项。但是,你可以使用正则表达式来实现这个验证。
下面是一个示例代码,演示如何使用正则表达式来验证一个字符串是否只包含字母和数字:
const { schema, rules } = require('@adonisjs/validator')
// 定义验证规则
const validationRules = schema.create({
username: schema.string({}, [
rules.regex(/^[a-zA-Z0-9]+$/, 'Username must contain only letters and numbers')
])
})
// 执行验证
const validation = await schema.validate(request.body, validationRules)
// 检查验证结果
if (validation.fails()) {
// 验证失败的处理逻辑
response.status(422).send(validation.messages())
} else {
// 验证成功的处理逻辑
// ...
}
在上面的示例中,我们使用rules.regex
规则来指定一个正则表达式验证。正则表达式/^[a-zA-Z0-9]+$/
用于匹配只包含字母和数字的字符串。如果验证失败,将返回一个包含错误消息的数组。