jquery、c#、服务器验证和验证块

jquery、c#、服务器验证和验证块,c#,asp.net,jquery,ajax,C#,Asp.net,Jquery,Ajax,Im使用ms验证块验证使用jquery(ajax)发布的用户输入。有人能给我一个最好的方法来通知用户,数据不验证的例子 我只是抛出一个异常并使用$.ajax函数的错误事件来通知用户问题,还是有更好的方法来处理这个问题 提前感谢如果您使用的是MVC,这里有一个将内置数据注释逻辑与jquery结合使用的好例子: 如果您要在服务器上执行一些超出基本验证范围的错误处理,那么我个人会使用error事件来处理关键错误(无效权限、服务器错误等),然后在success中执行验证/错误检查。如果您进行了大量aj

Im使用ms验证块验证使用jquery(ajax)发布的用户输入。有人能给我一个最好的方法来通知用户,数据不验证的例子

我只是抛出一个异常并使用$.ajax函数的错误事件来通知用户问题,还是有更好的方法来处理这个问题


提前感谢

如果您使用的是MVC,这里有一个将内置数据注释逻辑与jquery结合使用的好例子:

如果您要在服务器上执行一些超出基本验证范围的错误处理,那么我个人会使用
error
事件来处理关键错误(无效权限、服务器错误等),然后在
success
中执行验证/错误检查。如果您进行了大量ajax解析,那么制作简单的自定义json结果对象有时会很方便:

$.ajax(..
  success : function(item) { 
    if( !item.ok ) { /* handle validation logic*/ } 
    else { /* success */ }
  }
);
您的json返回对象可以如下所示

public class JsonResultObject
{
  public bool ok { get; set; }
  public string message { get; set; }
  public object data { get; set; }
}
然后在控制器(如果是MVC)中按如下方式返回:

public JsonResult Validate( CustomPostModel model )
{
    JsonResultObject result = new JsonResultObject()
    {
      ok = false,
      message = "Some custom error message here",
      data = model
    }
    return Json(result);
}

凉的因此,您创建了一个json包装器对象。看起来是个好主意。如果我只是返回html,我想我可以有一个字符串属性称为html或类似的。是的,它很容易根据您的需要而变化。您不需要包装器,但在构建大量提供反馈的json调用时,它会很有帮助。如果您想简化,可以制定一个约定:“当出现错误时返回字符串'error',否则返回对象”,然后您可以在
成功
块中检查
If(item='error')
。您不会得到严格的服务器错误,因此将由客户机函数向用户显示适当的反馈。这将消除在服务器上装箱JsonResults的需要-干杯