Подтвердить что ты не робот

Библиотека проверки формы для Android?

Есть ли какой-либо зрелой API/библиотеки для проверки формы для Android? Я нашел http://code.google.com/p/android-binding/, но, похоже, он находится в тяжелом развитии.

ОБНОВЛЕНИЕ: Просто для уточнения моего вопроса. В настоящее время я жестко запрограммировал проверку формы. И я хотел бы знать, если есть библиотека зрелой формы, которая позволяет мне декларативно указывать валидаторы (например, непосредственно в XML или в коде с использованием аннотаций или функционально беглым способом,...).

4b9b3361

Ответ 1

Библиотека теперь поддерживает аннотации, вы можете проверить свои поля, просто добавив их. Вот пример фрагмента кода.

@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;

Аннотирование заказа не является обязательным и указывает порядок, в котором поля должны быть проверены. Это ТОЛЬКО требуется, если вы хотите, чтобы порядок полей сохранялся во время проверки. Существуют также другие аннотации, такие как @Email, @IpAddress, @Isbn и т.д.,

Android Studio/ Gradle

compile 'com.mobsandgeeks:android-saripaar:2.0.2'

Проверьте последнюю доступную версию.

Eclipse
Вы можете загрузить банку из здесь и добавить ее в свой Android libs.

Старый ответ (Saripaar v1)
Я создал библиотеку для проверки. Ниже представлен связанный блог и проект . Я успешно использовал его в производственных приложениях и в настоящее время удовлетворяет большинству распространенных сценариев, с которыми мы сталкиваемся в формах проверки для Android. Существуют правила, которые выходят из коробки, и если вам нужно написать свои собственные, вы можете сделать это, написав свое собственное правило.

Вот фрагмент, который иллюстрирует использование библиотеки.

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);

Существуют также правила or и and, которые позволяют выполнять операции && и || по нескольким правилам. Существует также правило compositeOr и compositeAnd, которое позволяет выполнять проверки между несколькими представлениями.

Если какой-либо из них кажется недостаточным, вы всегда можете написать свое собственное правило, расширив класс Rule.

Ответ 2

Я бы порекомендовал OVal

public class BusinessObject {

@NotNull
@NotEmpty
@Length(max=32)
private String name;

 ...
}

// collect the constraint violations
List<ConstraintViolation> violations = validator.validate(bo);

Я планирую использовать его в своем следующем проекте, поскольку он имеет множество языков выражений, но требуется только Java.

Это не JSR303 компилятор, но также поддерживает эти аннотации.

Ответ 3

Если вы хотите проверить текстовые поля (EditText), я предлагаю вам использовать Pattern и Matcher с выражениями регулярных выражений, потому что мы не используем API для Android, но поддерживаем java API для android, поэтому вы можете.

Ответ 4

Используя

android.widget.AutoCompleteTextView.Validator;
myTextview.setValidator(myCustomValidator);

или myTextView.setError(error-message) в onTextChangedListener отлично работает, а второй выглядит действительно замечательно.

Ответ 5

Это будет простой и зрелый способ проверки входных текстов или форм:

private EditText et_first_name;
et_first_name = (EditText)findViewById(R.id.et_first_name);
et_first_name = (EditText)findViewById(R.id.et_first_name);
first_name.matches("^(?i)(?=.{1,20}$)([A-Za-z]+[A-Za-z0-9-_.]*$)"); // use the regex expression inside brackets and returns the error status .

Ответ 6

Использовать библиотеку Oval для проверки в android Это библиотека проверки подлинности на основе объектов, используемая в классах объектов

Ответ 7

так как я боролся с такими проблемами самостоятельно, я добавил эту функциональность к основным функциям моей платформы приложений BARACUS. Подробнее см. http://baracusframework.blogspot.de/2014/01/baracus-from-scratch-part-6-automatic.html.

Концепция включает декларативное связывание именованных валидаторов в форме плюс автоматическая маршрутизация любых сообщений о нарушении ограничений.