我正在尝试在Vapor中创建自定义密码验证程序。 我似乎无法弄清楚如何使匹配工作。
答案 0 :(得分:0)
在问题本身中,问题作者正式发布了答案。
可在此处找到文档https://vapor.github.io/documentation/guide/validation.html
import Vapor
class PasswordValidation: ValidationSuite {
static func validate(input value: String) throws {
// 1 upper 1 lower 1 special 1 number at least 8 long
let regex = Matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$&*])(?=.*[0-9]).{8}$")
/*
let evaluation = Matches.validate(regex)
try evaluation.validate(input: value)
*/
let evaluation = OnlyAlphanumeric.self
&& Count.min(8)
&& Matches.validate(Matches<regex & value>)
try evaluation.validate(input: value)
}
}