Thư viện hiện hỗ trợ chú thích, bạn có thể xác thực các trường của mình bằng cách thêm chúng. Đây là đoạn mã mẫu.
@NotEmpty
@Order(1)
private EditText fieldEditText;
@Checked(message = "You must agree to the terms.")
@Order(2)
private CheckBox iAgreeCheckBox;
@Length(min = 3, message = "Enter atleast 3 characters.")
@Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets")
@Order(3)
private TextView regexTextView;
@Password
@Order(4)
private EditText passwordEditText;
@ConfirmPassword
@Order(5)
private EditText confirmPasswordEditText;
Chú thích thứ tự là tùy chọn và chỉ định thứ tự các trường cần được xác thực. Điều này chỉ được yêu cầu nếu bạn muốn thứ tự của các trường được giữ nguyên trong quá trình xác nhận. Ngoài ra còn có chú thích khác như @Email
, @IpAddress
, @Isbn
, vv
Android Studio/Gradle
compile 'com.mobsandgeeks:android-saripaar:2.0.2'
Kiểm tra phiên bản mới nhất hiện có.
Eclipse
Bạn có thể tải jar từ here và thêm nó vào thư mục Android libs
của bạn.
Câu trả lời cũ (Saripaar v1)
Tôi đã tạo thư viện để xác thực. Dưới đây là associated blog và project. Tôi đã sử dụng thành công nó trong các ứng dụng sản xuất và nó hiện đang đáp ứng hầu hết các tình huống phổ biến mà chúng ta phải đối mặt trong các hình thức xác nhận cho Android. Có những quy tắc đi ra khỏi hộp và nếu bạn cần phải viết của riêng bạn, bạn có thể làm điều đó bằng cách viết Quy tắc của riêng bạn.
Đây là đoạn trích minh họa cách sử dụng thư viện.
validator.put(nameEditText, Rules.required("Name is required."));
validator.put(nameEditText, Rules.minLength("Name is too short.", 3));
validator.put(emailEditText, Rules.regex("Email id is invalid.", Rules.REGEX_EMAIL, trim));
validator.put(confirmPwdEditText, Rules.eq("Passwords don\'t match.", pwdEditText);
Ngoài ra còn có or
và and
quy tắc cho phép bạn thực hiện &&
và ||
hoạt động trên một số quy tắc. Ngoài ra còn có quy tắc compositeOr
và compositeAnd
cho phép bạn thực hiện xác thực giữa nhiều Chế độ xem.
Nếu có vẻ như không đủ, bạn luôn có thể viết quy tắc của riêng mình bằng cách mở rộng lớp Rule.
+1 Cảm ơn bạn đã cung cấp thông tin. Có bất kỳ chứng nhận ValidatorListeners nào có thể, ví dụ: làm nổi bật các hộp nhập liệu lỗi, v.v ...? –
Bạn sẽ nhận được failedView và failedRule trong cuộc gọi lại onFailure. Nếu bạn muốn làm nổi bật các trường EditText, bạn luôn có thể gọi phương thức setError() hoặc requestFocus(). Quy tắc không thành công sẽ có thông báo lỗi khi bạn có thể nhận được bằng cách gọi hàm failedRule.getFailureMessage(). –
Bạn có đang lên kế hoạch cho bất kỳ phần mở rộng khai báo nào không? (Điều đó có thể được áp dụng và bạn không cần mã hóa nó mỗi lần.) –