iyOmSd/Title: Vapor

[Vapor] Validation 유효성검사

냄수 2021. 3. 6. 14:55
반응형

Vapor버전 4.0을 기준으로 작성된 게시글입니다!

 

 

struct Hello: Content {
    var name: String?
}

extension Hello: Validatable {
    static func validations(_ validations: inout Validations) {
        validations.add("name", as: String.self, is: .count(3...))
    }
}
​
app.get("validation") { req -> String in
    try Hello.validate(query: req)
    let name = try req.query.decode(Hello.self).name!
    req.logger.info("validation test")
    return name
}

 

구조체에 Validatable프로토콜을 채택해주고

validations를 구현해주면 해당 조건에 만족하지 않는다면 응답에 실패했다고 반환되는 기능이에요

위의 코드에서는

name값으로 길이가 3이상이아니면 에러가나도록 설정해논 코드에요

 

조건으로는

여러가지를 설정할 수 있구요

 

 

반응형