我需要修剪用户通过网络表单提交的所有HTTP POST数据。完成google搜索后,显然asp.net中没有内置功能来修剪所有HTTP POST数据。
我能得到的最接近的是这里描述的内容:ASP.NET MVC: Best way to trim strings after data entry. Should I create a custom model binder?
不幸的是,它不适用于嵌套的ViewModel(ViewModel,其属性具有其他ViewModel的类型)。
实现这一目标的最佳方法是什么?我不想对所有ViewModel中的每个属性执行property.Trim()。谢谢。
答案 0 :(得分:1)
一种选择是定义自己的IValueProvider
。我会从继承NameValueCollectionValueProvider
开始制作一个TrimmedNameValueCollectionValueProvider
,在你将结果拉出来的时候调整结果。然后,您将定义TrimmedFormValueProvider
作为controllerContext.HttpContext.Request.Form
传入collection
。