Я использую библиотеку проверки Saripaar https://github.com/ragunathjawahar/android-saripaar для проверки одной из форм. Библиотека очень полезна, поскольку позволяет избежать большого количества шаблонного кода для проверки формы. Однако библиотека использует аннотации для виджетов. Ниже приведен пример:
@Password(order = 1)
@TextRule(order = 2, minLength = 6, message = "Enter at least 6 characters.")
private EditText passwordEditText;
Атрибут order определяет порядок, в котором будут выполняться проверки. Вот моя проблема: атрибут сообщения принимает постоянное выражение. Мне нужно установить это из строкового файла ресурсов. Так что сообщения об ошибках могут быть переведены на другой язык позже. Я уже пробовал ниже:
message = getResources().getString(R.string.err_msg)
Но, похоже, это не работает, поскольку ему нужны константы времени компиляции.
Может ли кто-нибудь помочь мне с тем же или помочь мне найти обходной путь?
1 ответ
Используйте этот синтаксис:
//private variable in the class declaration section
private EditText txtFirstName=null;
@Required(order = 2, messageResId = R.string.err_required_field)
Это в документации библиотеки (и сама библиотека отличная).
Похожие вопросы
Новые вопросы
validation
Валидация используется для проверки данных на предмет соответствия требуемым спецификациям. Обычно проверка используется при проверке входных данных и при проверке данных перед хранением.