蒸汽快速定制验证器

时间:2016-11-21 19:47:12

标签: swift validation passwords vapor

我正在尝试在Vapor中创建自定义密码验证程序。 我似乎无法弄清楚如何使匹配工作。

1 个答案:

答案 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)
    }

}