数据校验是两方面的,客户端校验虽然可以大大减少服务器回调次数提升用户体验.但是客户端校验并 不是万能的,从原理上说,客户端返回的数据都是不可信任的,服务器端校验必不可少.(关于客户端校验的 总结:从丑陋到优雅,让代码越变越美(客户端检测方法思考) )
总的来说,服务器端代码也经历了相似的几个过程:
以判断一个输入是否是可以转换成整数为例,开始大家都会续项强写:
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("输入为空");
}
看着就够麻烦,然后大家都会总结经验,将检测写成一个一个的函数:
protected bool IsInt(string str)
{
if (!string.IsNullOrEmpty(str))
{
int? intResult = 0;
if (int.TryParse(str, out intResult))
{
return true;
}
}
return false;
}
protected bool IsInRange(int max,int min,int input)
{
if (input > min && input < max)
return true;
else
return false;
}