我的控制器返回一个类似的JsonResult:
return Json(model);
如何在将json数据发送回客户端之前动态修改它。我想将验证属性添加到我的模型中,所以最终得到的结果如下:
{"Label": "Test",
"ValidationRules":[{"data-val-required":"This field is required.", "data-val-length-max":25, "data-val-length":"Max 25 chars." }]}
更新
public class Product
{
[Required]
String Label {get; set;}
}
当使用model作为Product的实例调用Json(model)时,我想在返回之前修改json字符串,以便它包含验证属性。
答案 0 :(得分:1)
为什么不创建一个名为ValidatableBase的基类,它具有ValidationRules属性:
public class Product : ValidatableBase
{
public string Label { get; set; }
}
public abstract class ValidatableBase
{
public ValidatableBase()
{
this.ValidationRules = new Dictionary<string, string>();
}
public Dictionary<string, string> ValidationRules { get; set; }
}
public ActionResult GetProduct()
{
var product = new Product();
product.Label = "foo";
product.ValidationRules.Add("data-val-required", "this field is required");
return Json(product);
}
继承此类并序列化。
或者,如果您正在使用DataAnnotations,为什么不使用ASP.NET MVC提供的默认jQuery验证和HtmlHelper方法?