用mvp模式實現登入註冊的統一校驗
一個應用中一般情況下注冊,忘記密碼這些功能的校驗基本上是一樣的,使用現在流行的mvp設計模式,可以簡化校驗操作,將校驗操作統一寫在interface中,也可以更方便的維護應用。
1.定義統一校驗介面:
public interface ICheckInfoData {
void getCheckInfo(String mobile,String editPhone,String password,String code,String check,final OnMessageResultListener listener);
}
實現校驗介面:
public class ICheckInfoImpl implements ICheckInfoData{
@Override
public void getCheckInfo(String mobile, String editPhone,String password, String code,String check, final OnMessageResultListener listener) {
if(TextUtils.isEmpty(mobile)){
listener.onMessageSuccess("請輸入手機號!");
return;
}
if(TextUtils.isEmpty(code))
{
listener.onMessageSuccess("請輸入驗證碼!");
return;
}
if(TextUtils.isEmpty(password)){
listener.onMessageSuccess("請輸入密碼!");
return;
}
if(password.length()<6){
listener.onMessageSuccess("密碼長度過短!");
return;}
if(!CheckUtils.isMobileNO(mobile)){
listener.onMessageSuccess("請輸入正確的手機號碼!");
return;}if(!code.equals(check)){
listener.onMessageSuccess("請輸入正確的驗證碼!");
return;}
listener.onMessageSuccess("ok");
}
2.實現view層的介面
public interface ICheckInfoView {
String getMoblie();
String getPassword();
String getCode();
String getEditPhone();
String getCheck();
<T>void onMessageSuccess(T t);
}
3.實現CheckInfoPresenter
public class CheckInfoPresenter {
private ICheckInfoData mICheckInfoData;
private ICheckInfoView mICheckInfoView;
public CheckInfoPresenter(ICheckInfoView checkView) {
this.mICheckInfoView = checkView;
mICheckInfoData = new ICheckInfoImpl();
}
public void getCheckInfoMessage() {
mICheckInfoData.getCheckInfo(mICheckInfoView.getMoblie(), mICheckInfoView.getEditPhone(), mICheckInfoView.getPassword(),
mICheckInfoView.getCode(), mICheckInfoView.getCheck(), new OnMessageResultListener() {
@Override
public <T> void onMessageSuccess(T t) {
mICheckInfoView.onMessageSuccess(t);
}
});
}
}
如此一來,就可以在需要校驗的地方實現:
public class FindPsdActivity extends BaseActivity implements ICheckInfoView
方便了以後的維護
相關文章
- Android需求之RxJava2實現表單校驗(註冊登入)AndroidRxJava
- js登入與註冊驗證JS
- node+ajax+mysql實現登入註冊MySql
- 使用Servlet Filter實現系統登入許可權校驗ServletFilter
- vue登入註冊,帶token驗證Vue
- Laravel 實現 passport 使用者註冊登入LaravelPassport
- express+vue+mongodb+session 實現註冊登入ExpressVueMongoDBSession
- 實現註冊登入你真的會了嗎
- node+express+mongDB實現簡單登入註冊Express
- Spartacus 註冊和登入頁面的實現細節
- 10.註冊和登入功能實現(3)—— 註冊資料寫入資料庫資料庫
- jwt加meta元資訊實現登入後校驗JWT
- 前後端實現登入token攔截校驗後端
- React & Redux 實現註冊登入認證系統(31 個視訊)ReactRedux
- 基於以太坊上實現DApp的登入註冊APP
- HTML基礎實現簡單的註冊和登入頁面HTML
- 使用Forms Authentication實現使用者註冊、登入 (一)基礎知識ORM
- 簡單登入註冊實現(Java物件導向複習)Java物件
- Node.js+Mysql+Vue+ElementUI 實現登入註冊登出功能Node.jsMySqlVueUI
- PHP+MySQL實現使用者登入註冊API介面PHPMySqlAPI
- 使用者註冊/登入模組實踐
- JSP註冊驗證功能的實現JS
- 使用者註冊資料合法性校驗外掛能否實現
- javaWeb登入註冊頁面JavaWeb
- 個人作業登入+註冊
- 直播系統app原始碼,Android studio 實現app登入註冊頁面APP原始碼Android
- Vue.js + element-ui + express + mongoDB 實現註冊登入功能Vue.jsUIExpressMongoDB
- 小程式開發:python sanic 實現小程式登入註冊Python
- 分享!! 如何自定義許可權校驗的註解並用AOP攔截實現許可權校驗
- 現在,ChatGPT不註冊登入也能免費用了ChatGPT
- Laravel5.8 入門系列二,快速實現使用者註冊登入功能Laravel
- 【Python】Django--認證系統-登入註冊PythonDjango
- json web token 實踐登入以及校驗碼驗證JSONWeb
- 02-個人部落格筆記-登入註冊介面的實現筆記
- Struts2+AJAX+JQuery 實現使用者登入與註冊功能。jQuery
- 使用redis完成註冊和登入Redis
- APP「登入註冊模組」詳解APP
- laravel使用者登入註冊Laravel