Skip to content

PotatoArtie/ValidationKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

ValidationKit

SwiftPM CodeCoverage Platform

Summary

ValidationKit은 원하는 형식의 정규식을 간편하게 만들어 유효성검사를 진행 할 수 있는 기능을 제공합니다.

Usage

Use {String}.isValidEmail()

설명 : 문자열이 이메일 형식이 맞는지 확인합니다.

    [요청]
    "[email protected]".isValidEmail()

    [출력]
    true

Use 커스텀 정규식 생성해서 유효성 검사하기

[옵션 설명]

    .required([.english, .number, , .korean, .specialSymbols]) // 필수로 포함되어야하는 설정
     //영어, 숫자, 한글, 특수문자 4가지 옵션을 제공합니다.
    .setLength(min: Int, max: Int) // 최소 최대 글자
    .setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~₩!@#$%^&*()-_=+\|"#) // 특수문자 설정
    //#""# 포맷형식으로 특수문자열을 전달합니다. 예시를 꼭 참고해주세요.
    .setRegex([.english, .number, , .korean, .specialSymbols]) // 포함되어야하는 조건
    //영어, 숫자, 한글, 특수문자 4가지 옵션을 제공합니다.
    .setLogOption(.verbose) // 로그레벨

예시 조건

1.필수로 포함되어야하는 조건은 영어, 숫자, 특수문자
2.입력받을 문자열의 길이의 최소길이는 8, 최대길이는 20 으로 설정
3.커스텀으로 특수문자 지정
4.포함되어야하는 조건은 영어와 숫자
5.로그레벨 .verbose (상세한 로그 제공)

Code 사용법

    // 빌더패턴으로 필요한 설정을 추가해주세요.
    let builder = RegExBuilder()
                    .required([.english,.number,.specialSymbols]) // 필수로 포함되어야하는 설정
                    .setLength(min: 8, max: 20) // 최소 최대 글자
                    .setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~₩!@#$%^&*()-_=+\|"#) // 특수문자 설정 
                    .setRegex([.english,.number]) // 포함되어야하는 설정
                    .setLogOption(.verbose) // 로그레벨

    //ValidationDirector를 통해 validator 인스턴스를 생성해주세요.
    let validator = ValidationDirector.createValidator(builder: builder)


    let YOURTEXT = "123456789"
    // validator 인스턴스의 isValid(String)을 통해서 유효성 검사를 진행하시면 됩니다.
    validator.isValid(YOURTEXT) { response in
        switch response {
        case .success(let success):
            print(success)
        case .failure(let failure):
            print(failure.desc)
        }
    }
    
    예상 결과 : 영어가 포함되어 있지 않습니다

사용시 주의사항

특수문자 설정시 #"{String}"# 포맷안에 특수문자열을 전달해주세요.
포함조건에 특수문자가 포함되어 있지 않더라도 필수로 포함되어야하는 조건을 설정하는 경우 커스텀 특수문자가 지정을 하지않으면 기본값으로 저장된 특수문자 값을 사용합니다.

Quick Help 제공

quickhelp builder ezgif com-video-to-gif (14)

Requirement

iOS 11.0+/macOS 10.13+/tvOS 11.0+/watchOS 4.0+ Apple developer

iOS - 'v10' is deprecated : iOS 11.0 is the oldest supported version

ios_m

macOS - 'v10_12' is deprecated : macOS 10.13 is the oldest supported version

macos_m

tvOS - 'v10' is deprecated : tvOS 11.0 is the oldest supported version

tvos_m

watchOS - 'v3' is deprecated : watchOS 4.0 is the oldest supported version

watchos_m

Installation

File > Swift Packages > Add Package Dependency Add Select "Up to Next Major" with 1.0.0

  .package(url: "https://github.com/PotatoArtie/ValidationKit.git", .upToNextMajor(from: "1.0.0"))

Coverage

coverage

License

ValidationKit is under the MIT license. See the LICENSE for details.