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

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

Существует библиотека iOS US2FormValidator для проверки правильности ввода пользователя (см. рисунок ниже). Я думаю, что библиотека лучше, чем по умолчанию, просто выталкивая предупреждение, когда что-то не проверяет.

US2FormValidator Preview

Я ищу, как это сделать на Android. Есть ли какие-то Android-аналоги US2FormValidator?

4b9b3361

Ответ 1

Всплывающий эффект, который вы показали на скриншоте, может быть достигнут с помощью встроенного метода setError(String) для Android на EditText виджетах.

Кроме того, вы можете использовать силу аннотаций, используя библиотеку Android Saripaar, которую я создал.

сначала добавьте библиотеку:

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

Библиотека очень проста в использовании. В своей деятельности аннотируйте ссылки View, которые вы хотели бы подтвердить, как в следующем примере.

@Order(1)
private EditText fieldEditText;

@Order(2)
@Checked(message = "You must agree to the terms.")
private CheckBox iAgreeCheckBox;

@Order(3)
@Length(min = 3, message = "Enter atleast 3 characters.")
@Pattern(regex = "[A-Za-z]+", message = "Should contain only alphabets")
private TextView regexTextView;

@Order(4)
@Password(min = 6, scheme = Password.Scheme.ALPHA_NUMERIC_MIXED_CASE_SYMBOLS)
private EditText passwordEditText;

@Order(5)
@ConfirmPassword
private EditText confirmPasswordEditText;

Атрибут order указывает порядок, в котором поля должны быть проверены.

В вашем методе onCreate() создайте новый объект Validator. и вызовите validator.validate() внутри любого из ваших прослушивателей событий.

Вы получите обратные вызовы в onSuccess и onFailure методах ValidationListener.

Если вы хотите отобразить всплывающее окно как показано на изображении выше, сделайте следующее,

public void onValidationFailed(View failedView, Rule<?> failedRule) {
    if (failedView instanceof Checkable) {
        Toast.makeText(this, failedRule.getFailureMessage(), Toast.LENGTH_SHORT).show();
    } else if (failedView instanceof TextView) {
        TextView view = (TextView) failedView;
        view.requestFocus();
        view.setError(failedRule.getFailureMessage());
    }
}

Надеюсь, что это поможет.

Ответ 4

Внедрить проверку для Android всего за три шага. Разработчики должны сосредоточиться на своем потрясающем коде, и пусть библиотека делает шаблон.

Три типа типа проверки:

  • TEXT_INPUT_LAYOUT
  • UNDERLABEL
  • COLORATION
  • BASIC

Я даю вам пример подтверждения UNDERLABEL.

Шаг для достижения валидации в android:

Объявить стиль проверки:

AwesomeValidation mAwesomeValidation = new AwesomeValidation(UNDERLABEL);
mAwesomeValidation.setContext(this); 

Добавить проверки;

mAwesomeValidation.addValidation(activity, R.id.edt_name, "[a-zA-Z\\s]+", R.string.err_name); 
mAwesomeValidation.addValidation(activity, R.id.edt_tel, RegexTemplate.TELEPHONE, R.string.err_tel);

Задайте точку, когда запускается проверка.

findViewById(R.id.btn_done).setOnClickListener(new View.OnClickListener()
    @Override
    public void onClick(View v)
    mAwesomeValidation.validate();
);

Вот и все полный исходный код

validation for android - dasnic.