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

從丑陋到優(yōu)雅,讓代碼越變?cè)矫览m(xù)集之服務(wù)器端數(shù)據(jù)校驗(yàn)

    數(shù)據(jù)校驗(yàn)是兩方面的,客戶端校驗(yàn)雖然可以大大減少服務(wù)器回調(diào)次數(shù)提升用戶體驗(yàn).但是客戶端校驗(yàn)并不是萬(wàn)能的,從原理上說(shuō),客戶端返回的數(shù)據(jù)都是不可信任的,服務(wù)器端校驗(yàn)必不可少。(關(guān)于客戶端校驗(yàn)的總結(jié):從丑陋到優(yōu)雅,讓代碼越變?cè)矫溃蛻舳藱z測(cè)方法思考) )

   總的來(lái)說(shuō),服務(wù)器端代碼也經(jīng)歷了相似的幾個(gè)過(guò)程:

   以判斷一個(gè)輸入是否是可以轉(zhuǎn)換成整數(shù)為例,開始大家都會(huì)續(xù)項(xiàng)強(qiáng)寫:

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是因?yàn)槲覀冊(cè)诤笈_(tái)代碼中,往往需要根據(jù)檢測(cè)結(jié)果做其他業(yè)務(wù)方面的處理,如果你不需要返回信息,并不想單獨(dú)在外邊寫ShowMessage函數(shù),可以在vInfo里面增加一個(gè)ShowMessage函數(shù),讓貧血的實(shí)體類不在貧血,實(shí)現(xiàn)像下面這樣看起來(lái)更優(yōu)雅的檢測(cè):

 

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

int類型檢測(cè)子類:

 

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技術(shù)從丑陋到優(yōu)雅,讓代碼越變?cè)矫览m(xù)集之服務(wù)器端數(shù)據(jù)校驗(yàn),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 锡林郭勒盟| 务川| 壤塘县| 临颍县| 玉树县| 宣武区| 洛南县| 循化| 大英县| 德令哈市| 莒南县| 贺州市| 高雄县| 合阳县| 五河县| 双桥区| 通化县| 永昌县| 公安县| 洛浦县| 松滋市| 望谟县| 墨脱县| 湖州市| 洛阳市| 五大连池市| 栖霞市| 闵行区| 吉木乃县| 新余市| 易门县| 五家渠市| 自贡市| 翼城县| 尼勒克县| 肇东市| 南召县| 房产| 葫芦岛市| 阳原县| 嘉荫县|