有用於用戶輸入驗證的iOS US2FormValidator庫(請參見下圖)。我認爲這個庫比默認情況下更好,當某些東西沒有被驗證時,它會彈出警告。Android表單驗證UI庫
我在尋找如何做到在Android這樣的事情。是否有一些Android的類似物US2FormValidator?
有用於用戶輸入驗證的iOS US2FormValidator庫(請參見下圖)。我認爲這個庫比默認情況下更好,當某些東西沒有被驗證時,它會彈出警告。Android表單驗證UI庫
我在尋找如何做到在Android這樣的事情。是否有一些Android的類似物US2FormValidator?
你有你的屏幕截圖顯示可以使用實現彈出效果Android的內置上EditText
部件setError(String)
方法。
另外,您可以使用我創作的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());
}
}
希望有所幫助。
Android有非常易於使用的內置驗證機制,它足夠好。請參閱以下鏈接: http://blog.donnfelker.com/2011/11/23/android-validation-with-edittext/
鏈接被破壞,這是(2015/07/14): http://www.donnfelker.com/android-validation-with-edittext/ – jdev 2015-07-14 17:18:10
我剛剛遇到ValidationKomensky,你可能會發現有用
爲Android完全實現三個步驟中驗證。開發人員應該專注於他們令人敬畏的代碼,並讓圖書館做模板。
三種類型的驗證類型:
我給你舉例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();
);
那一切,這裏是full source code
。
那麼你爲什麼認爲它回答了他的問題?他要求提供具體的驗證錯誤消息的展現方法。 – 2015-03-28 11:33:15
你能告訴我如何確認密碼字段時如何使用這個Awesome Validation Library。 – 2015-06-27 06:57:19
@SriyankSiddhartha驗證確認字段,你只需要做'mAwesomeValidation.addValidation(活動,R.id.edt_password_confirmation,R.id.edt_password,R.string.err_password_confirmation);'請檢查github回購頁面的詳細信息。 – 2016-12-06 07:54:23
Android Saripaar絕對是最好的選擇! :D – 2013-12-24 04:29:30
手機號碼驗證如何? – 2013-12-30 11:20:00
@RegEx註解 - 使用正則表達式,電話號碼沒有標準格式。 – 2013-12-30 12:34:42