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

本文关键字:用户 输入 提交 方法 AJAX 检查 | 更新日期: 2023-09-27 18:32:52

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

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

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

您可以使用

System.String.IsNullOrEmpty() 方法并确保在将数据传递给处理程序之前执行客户端/js 验证。

您应该对输入值强制实施更多验证规则(而不仅仅是"空/空"字符串检查)。这取决于值的用途。一些基本的验证是数据类型,数据范围,格式等检查。您可以定义单独的验证类来验证用户输入,以便可以在其他位置重用验证代码;例如:

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