Vapor 시리즈 자습서 - Validation
Vapor는 데이터의 합법성을 검증하는 메커니즘을 제공합니다.
기본용법
Employee의 이메일과name 데이터가 합법적인지 확인class Employee {
var email: Valid
var name: Valid
init(request: Request) throws {
email = try request.data["email"].validated()
name = try request.data["name"].validated()
}
}
성명Valid<>
유형을 통해 데이터의 합법성을 확보하고 검증된 데이터만 email
과name
에 전달할 수 있다..validated()
만 사용하여 데이터 검증을 하고, request.data
되돌아오는 데이터 형식은 모두 호출할 수 있습니다 .validated()
.
여기에서 Email
은 Vapor 내장 validator
이고 Name
는 아닙니다.
class Employee {
var email: Valid
var name: Valid
init(request: Request) throws {
email = try request.data["email"].validated()
name = try request.data["name"].validated()
}
}
Valid
Valid
Valid>
Valid>
Valid>
Valid>
Valid>
Name
구현class Name: ValidationSuite {
static func validate(input value: String) throws {
let evaluation = OnlyAlphanumeric.self
&& Count.min(5)
&& Count.max(20)
try evaluation.validate(input: value)
}
}
순수한 자모와 글자 수가 5~20 사이인 이름만 검증할 수 있다.
사용 예
drop.post("validation") { request in
do {
let employee = try Employee(request: request)
print("employee name : \(employee.name.value)")
print("employee email : \(employee.email.value)")
} catch let error as ValidationError {
return "Email is invalid"
} catch let error as ValidationError {
return "Name is invalid"
}
return "validation success"
}
전송된
name
데이터와 email
데이터가 모두 합법적이어야만 검증을 통과할 수 있으며, 그렇지 않으면 이상이 발생할 것이다.통과
validated
외에 다른 두 가지 방식으로 검증하다 let text = "test123"
let result1 = text.passes(Count.min(5))
let result2 = try text.tested(by: Count.min(5))
print("result1 = \(result1)")
print("result2 = \(result2)")
출력
result1 = true result2 = test123
passes
방법은 Bool
유형을 되돌려주고, tested
방법은 원시 유형을 되돌려준다.Go to Vapor 시리즈 자습서 - 카탈로그
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.