鍍金池/ 問答/Java/ 【如圖】下面的代碼中(登錄狀態(tài)下更新用戶信息的模塊),為什么需要校驗email?

【如圖】下面的代碼中(登錄狀態(tài)下更新用戶信息的模塊),為什么需要校驗email?很難理解注釋說的什么

其中,前端接口:

登錄狀態(tài)更新個人信息 /user/update_information.do
request
    email,phone,question,answer(這幾個都是User類的屬性)

圖片描述

回答
編輯回答
枕頭人

意思是修改email的時候不能修改成一個庫里已經(jīng)存在的email,也就是不能修改成和原來一樣,這里有兩種情況,假設(shè)提交的email是1@xxx.com,庫里有一個叫2@xxx.com,那么:
1.提交的email不能是1@xxx.com
2.提交的email不能是2@xxx.com

當然這個邏輯不是很嚴謹,如果修改的是和原來的一樣的話那么可以提示用戶不能修改成和原來一樣,也可以什么操作都不做

2017年7月25日 11:44
編輯回答
薄荷糖

這還是看你們用戶系統(tǒng)的設(shè)計,根據(jù)這種實現(xiàn),應(yīng)該email在你們系統(tǒng)是1對1對關(guān)系!
由于看不到你mapper的實現(xiàn)根據(jù)注釋實現(xiàn)應(yīng)該類似:

SELECT COUNT(id) FROM _user WHERE email=? AND id != ?

目的單純?nèi)绻渌脩粢呀?jīng)關(guān)聯(lián)了當前郵箱則不允許當前用戶使用該郵箱。

結(jié)論: 保證email和user是一對一關(guān)系,否則根據(jù)email會找到兩個用戶id。

2017年4月27日 12:19