1

Vapor でカスタム パスワード バリデータを作成しようとしています。マッチを機能させる方法がわかりません。

4

1 に答える 1

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

}
于 2016-12-14T16:22:47.823 に答える