Mvc6在验证之前修剪json模型的所有值(包括嵌套模型对象中的字符串)

时间:2015-08-31 13:36:26

标签: validation asp.net-core asp.net-core-mvc

我正在使用Mvc6 beta6,模型以Json格式传递。在验证json模型之前修剪所有值的建议方法是什么?我还需要修剪模型中嵌套对象的字符串值。

以下是一个例子:

[HttpPut("{userId}/{id}/details")]    
public async Task<IActionResult> UpdateProfileDetails(string userId, string id, [FromBody] UserProfileDetailsModel userProfileDetailsModel)
{
  // Inside the action all (nested)values of userProfileDetailsModel should be already trimmed without the need to trim them manually based on model type
}

所以提供的userProfileDetailsModel有一个嵌套对象“geoLocation”:{“continent”:“EU”}我试图获得的效果是在行动中读取此值时将大陆值修剪为“EU”。 / p>

我正在寻找一种不依赖于模型类型的全局过滤器或全局格式化器解决方案。

1 个答案:

答案 0 :(得分:1)

尝试创建自己的模型装订器 Simple ModelBinder

还提供了以下样本: Model Binding Sample WebSite

你正在使用[FromBody],我认为它使用输入格式化程序并阻止模型绑定器运行,在这种情况下,如果你想更多地使用格式化程序路线,请查看Formatter Sample Web Site