天天看點

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

我們之前完成了使用者管理清單的增删改查以及頭像上傳,之後又使用poi技術完成了使用者清單資訊的excel導入和excel檔案導出工作。接下來我們來編寫與賬号有關的業務。

可以看到我們添加使用者要指派一個賬号

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

但是我們的賬号一定是不能重複的,如果賬号已經存在,我們不就能讓它儲存在系統中,要告訴使用者賬号已經存在。是以我們這次要進行使用者賬号唯一性的校驗。

校驗使用者帳号唯一性:

需要校驗的地方:新增與編輯;其中編輯頁面時,帳号是已經存在的需要将目前帳号排除在校驗範圍内

校驗時機:當帳号的值發生變化時;儲存的時候

校驗帳号唯一:

前端:ajax

後端:

1、擷取帳号

2、校驗

2.1、根據帳号查詢使用者們

     select * from user where account='帳号' and id != '使用者id'

我們下面來實作:

在前台我們使用ajax技術來實作校驗,我們先在addui.jsp中添加相應的js代碼,當我們的賬号值改變的時候,我們就執行相應的js代碼:

前台的代碼基本上寫完,我們在背景實作user_verifyaccount。

首先在useraction中添加verifyaccount方法:

我們的userservice中還沒有finduserbyaccountandid方法,我們來實作它。

在接口中定義finduserbyaccountandid()方法,我們在userserviceimpl中實作這個方法:

我們的userdao中還沒有finduserbyaccountandid方法,我們來實作它。

在接口中定義finduserbyaccountandid()方法,我們在userdaoimpl中實作這個方法:

前背景的代碼都已經完成,我們來測試一下:

我們點選新增,之前我們有一個賬号叫“jack”,我們故意輸入這個賬号之後會發現給予了錯誤提示

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

然後我們換一個沒有用過的,便不再有提示:

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

是以我們的賬戶校驗功能成功!

光這麼校驗還不行,如果使用者忽略這個警告繼續儲存還是不行的,是以我們要在使用者點選“儲存”按鈕的時候再次進行校驗:

檢測的js代碼:

(我們修改了之前的doverify()方法,是以我将之前代碼也放上來。我們設定了一個全局變量vresult,如果我們賬号校驗成功,vresult就為true,如果校驗失敗就是預設的false,這樣我們就可以控制表單的送出。但是因為ajax是異步送出,是以我們的vresult的值并不能正确的得到,是以我們要把ajax的送出方式改為“非異步”,這樣才能正确得到vresult的值,進而判斷是否可以讓使用者送出表單)

我們測試,故意輸入一個重複的賬号,忽略警告直接進行儲存,但是發現報錯了

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

說明我們的控制成功!

下面我們同時完成編輯界面的資料校驗,同樣先在使用者名、賬号、密碼上加上id,然後在賬戶上加上改變事件:

當然還有儲存時的校驗方法

js方法(我們檢測除了自己之外還有沒有人使用這個賬号):

測試,我們點選一個使用者進行“編輯”操作,我們故意把它的賬戶名“jack”改為已經被注冊的“aim”:

【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗
【SSH項目實戰】國稅協同平台-8.戶帳号唯一性校驗

發現不能送出,是以我們的編輯頁面的校驗也成功!

至此我們的所有校驗工作已經完成。

轉載請注明出處:http://blog.csdn.net/acmman/article/details/49420837