我创建了一个通用处理程序(.ashx)来处理html页面中某些下拉列表的一些简单输入。我知道我应该检查数据以确保它是有效的,因此我创建了以下代码
string ProjectNumber = context.Request.Form["JobNumber"];
string ProjectShare = context.Request.Form["ProjectShare"];
if (ProjectNumber == null || ProjectNumber == string.Empty) {
throw new Exception("Project number cannot be empty or null");
}
if (ProjectShare == null || ProjectShare == string.Empty) {
throw new Exception("Project Share cannot be empty or null");
}
有没有更好的方法来处理此输入
答案 0 :(得分:2)
您可以使用System.String.IsNullOrEmpty()
方法,并确保在将数据传递给处理程序之前执行客户端/ js验证。
答案 1 :(得分:0)
您应该对输入值强制执行更多验证规则,(不仅仅是'空/空'字符串检查)。这取决于值的用途。一些基本验证类似于数据类型,数据范围,格式等检查。您可以定义单独的验证类来验证用户输入,以便您可以在其他地方重用验证代码; e.g:
public class DataValidator
{
public ValidationResult ValidateProjectNumber(string projectNumber)
{
//ProjectNumber validation rules...
if (string.IsNullOrWhiteSpace(projectNumber))
return new ValidationResult("Project number is requried.");
int projectId;//say your project number is int.
if (int.TryParse(projectNumber, out projectId))
return new ValidationResult(string.Format("Project Number '{0}' is not a valid number."));
// more checks....
return ValidationResult.Success;
}
public ValidationResult ValidateProjectShare(string projectShare)
{
//projectShare validation rules...
return ValidationResult.Success;
}
}
我还建议,不要为无效输入抛出异常。而是将验证结果作为JSON / xml发送到客户端,并以用户友好的方式显示错误消息。