检查通过ajax方法提交的用户输入

时间:2012-05-02 16:04:43

标签: c# .net validation

我创建了一个通用处理程序(.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");
}

有没有更好的方法来处理此输入

2 个答案:

答案 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发送到客户端,并以用户友好的方式显示错误消息。