色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

從丑陋到優雅,讓代碼越變越美續集之服務器端數據校驗

    數據校驗是兩方面的,客戶端校驗雖然可以大大減少服務器回調次數提升用戶體驗.但是客戶端校驗并不是萬能的,從原理上說,客戶端返回的數據都是不可信任的,服務器端校驗必不可少。(關于客戶端校驗的總結:從丑陋到優雅,讓代碼越變越美(客戶端檢測方法思考) )

   總的來說,服務器端代碼也經歷了相似的幾個過程:

   以判斷一個輸入是否是可以轉換成整數為例,開始大家都會續項強寫:

Code1
string str = txtTest.Text;
if (!string.IsNullOrEmpty(str))
{
    
int? intResult = 0;
    
if (int.TryParse(str
out intResult))
    {
        
if(intResult>0 && intResult<100)
        {
            
//success
        }
        
else
        {
            ShowMessage(
"輸入必須大于0小于100");
        }
    }
    
else
    {
        ShowMessage(
"不能格式化為Int類型");
    }
}
else
{
    ShowMessage(
"輸入為空");
}

 返回info是因為我們在后臺代碼中,往往需要根據檢測結果做其他業務方面的處理,如果你不需要返回信息,并不想單獨在外邊寫ShowMessage函數,可以在vInfo里面增加一個ShowMessage函數,讓貧血的實體類不在貧血,實現像下面這樣看起來更優雅的檢測:

 

Code7
vInfo info = vHelper.StartVerify(10)
    .IsNotNullOrEmpty(
"輸入為空")
    .Min(
0
"輸入小于0")
    .Max(
100
"輸入大于100")
    .EndVerify()
    .ShowMessage();

int類型檢測子類:

 

Code10
public class vInt
v
{
    
int? intT = null;

    
public vInt(int? T)
    {
        intT 
= T;
        Status 
= true;
        Message 
= string.Empty;
    }

    
public vInt IsNotNullOrEmpty(string msg)
    {
        
if (intT == null)
        {
            Status 
=
 false;
            Message 
= msg;
        }

        
return this;
    }

    
public vInt Min(int minstring msg)
    {
        
if (!Status)
            
return this;

        
if (intT < min)
        {
            Status 
= false;
            Message 
= msg;
        }

        
return this;
    }

    
public vInt Max(int maxstring msg)
    {
        
if (!Status)
            
return this;

        
if (intT > max)
        {
            Status 
= false;
            Message 
= msg;
        }

        
return this;
    }
}

NET技術從丑陋到優雅,讓代碼越變越美續集之服務器端數據校驗,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 集贤县| 延津县| 句容市| 招远市| 大洼县| 上高县| 正宁县| 无为县| 安徽省| 大悟县| 印江| 山丹县| 南阳市| 高州市| 博野县| 岫岩| 濉溪县| 辛集市| 印江| 武乡县| 嘉兴市| 湖北省| 玉屏| 梅河口市| 龙山县| 拉萨市| 交城县| 曲阳县| 亚东县| 利津县| 运城市| 新宁县| 连城县| 海林市| 义马市| 渝中区| 阳城县| 舟山市| 扬州市| 西乌珠穆沁旗| 清丰县|