SwiftValidator là một thư viện hỗ trợ bạn trong việc tuỳ chỉnh các định dạng bắt buộc của một Textifeld. Bạn sẽ thuờng thấy những trường hợp này khi đăng ký một tài khoản nào đó hoặc bị yêu cầu nhập một số điện thoại và email đúng định dạng,...

Bước 1:

1.1 Để sử dụng thư viện này, đầu tiên bạn cần khởi tạo 1 Project. Sau đó chúng ta cần thêm

pod 'SwiftValidator', :git => 'https://github.com/jpotts18/SwiftValidator.git', :branch => 'master'

vào pod file của chúng ta, ở terminal lên cd đến thư mục chứ project của mình và install pod file bằng lệnh pod install
Sau khi hoàn thành cài đặt chúng ta sẽ làm việc trên .xworkspace.

1.2 Mở Main.storyboard, chúng ta khởi tạo 2 Textfield, 2 Labels và 1 Button và ánh xạ chúng vào class quản trị

Bạn có thể tải Sourcecode bắt đầu ở đây: https://goo.gl/cpxNpH

1.3 Trở về class quản trị, ta import, gọi tên thư viện và khai báo biến vào ViewController

import SwiftValidator
class ViewController: UIViewController, ValidationDelegate {
    //Code
}
//Khai báo biến
let validator = Validator()

Bước 2:

2.1 Mọi việc chuẩn bị đã hoàn thành, bây giờ trong class quản trị trong hàm viewDidLoad(), bạn khởi viết đoạn code sau:

        //Validate Register
        validator.styleTransformers(success:{ (validationRule) -> Void in
            print("here")
            // clear error label
            validationRule.errorLabel?.isHidden = true
            validationRule.errorLabel?.text = ""
        }, error:{ (validationError) -> Void in
            print("error")
            validationError.errorLabel?.isHidden = false
            validationError.errorLabel?.text = validationError.errorMessage
        })
        //Set Rule for Textfield
        validator.registerField(emailTF, errorLabel: emailError, rules: [RequiredRule(message: "Bạn chưa nhập Địa Chỉ Email"), EmailRule(message: "Vui lòng nhập Email đúng định dạng")])
        validator.registerField(phoneTF, errorLabel: phoneError, rules: [RequiredRule(message: "Bạn chưa nhập Số điện thoại"), MinLengthRule(length: 8, message: "Tối thiểu 8 ký tự"), MaxLengthRule(length: 14, message: "Tối đa 14 ký tự")])

Ở đây, tôi gán Rule cho Textifeld đầu tiên phải đúng định dạng Email, vd: [email protected] và cho Textfield thứ 2 giới hạn nhập tối thiểu 8 ký tự và tối đa là 14 ký tự.

2.2 Ra khởi viewDidLoad(), tôi khai báo 2 function như sau:

    //Nếu thoả điều kiện cho Validate
    func validationSuccessful() {
        print("Validation Success!")
        let alert = UIAlertController(title: "Success", message: "You are validated!", preferredStyle: UIAlertControllerStyle.alert)
    }

    //Nếu ký tự nhập không đúng kiểu gán cho Textfield 
    func validationFailed(_ errors:[(Validatable, ValidationError)]) {
        print("Validation FAILED!")
    }

2.3 Vào action của Button mà lúc nãy ta ánh xạ ta gọi hàm check Validate

        validator.validate(self)

Bước 3: Run app và trải nghiệm

Các bạn có thể tham khảo thêm tại đây: https://github.com/jpotts18/SwiftValidator

Chúc các bạn thành công!!

Phương Duy

results matching ""

    No results matching ""