Asp.net MVC如何对输入的字符串字段做Trim处理
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章将为大家详细讲解有关Asp.net MVC如何对输入的字符串字段做Trim处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MVC4.6中实现方式1,实现I
千家信息网最后更新 2025年01月16日Asp.net MVC如何对输入的字符串字段做Trim处理
这篇文章将为大家详细讲解有关Asp.net MVC如何对输入的字符串字段做Trim处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
MVC4.6中实现方式
1,实现IModelBinder接口,创建自定义ModelBinder。
public class TrimModelBinder : IModelBinder { public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { var valueResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); string attemptedValue = valueResult?.AttemptedValue; return string.IsNullOrWhiteSpace(attemptedValue) ? attemptedValue : attemptedValue.Trim(); } }
2,添加ModelBinder到MVC的绑定库。
protected void Application_Start() { //System.Web.Mvc.ModelBinders.Binders.DefaultBinder = new ModelBinders.TrimModelBinder(); System.Web.Mvc.ModelBinders.Binders.Add(typeof(string), new ModelBinders.TrimModelBinder()); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
3,确认一下效果
将密码后面的空格做Trim处理,绑定到ViewModel的时候变成1了:
Asp.net core 1.1 MVC中实现方式
1,自定义ModelBinder并继承ComplexTypeModelBinder
public class TrimModelBinder : ComplexTypeModelBinder { public TrimModelBinder(IDictionary propertyBinders) : base(propertyBinders) { } protected override void SetProperty(ModelBindingContext bindingContext, string modelName, ModelMetadata propertyMetadata, ModelBindingResult result) { var value = result.Model as string; result= string.IsNullOrWhiteSpace(value) ? result : ModelBindingResult.Success(value.Trim()); base.SetProperty(bindingContext, modelName, propertyMetadata, result); } }
2,为ModelBinder添加自定义Provider
public class TrimModelBinderProvider : IModelBinderProvider { public IModelBinder GetBinder(ModelBinderProviderContext context) { if (context.Metadata.IsComplexType && !context.Metadata.IsCollectionType) { var propertyBinders = new Dictionary(); for (int i = 0; i < context.Metadata.Properties.Count; i++) { var property = context.Metadata.Properties[i]; propertyBinders.Add(property, context.CreateBinder(property)); } return new TrimModelBinder(propertyBinders); } return null; } }
3,将Provider添加到绑定管理库
services.AddMvc().AddMvcOptions(s => { s.ModelBinderProviders[s.ModelBinderProviders.TakeWhile(p => !(p is ComplexTypeModelBinderProvider)).Count()] = new TrimModelBinderProvider(); });
4,确认一下效果
将密码后面的空格做Trim处理,绑定到ViewModel的时候变成1了:
关于"Asp.net MVC如何对输入的字符串字段做Trim处理"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
处理
篇文章
字段
字符
字符串
输入
密码
效果
方式
时候
更多
空格
中实
不错
实用
内容
接口
文章
知识
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国标软件开发设计报告
校园网络安全情景剧
网络安全 自学
梦幻西游北京2区哪个服务器火
网络安全常见的类型
我的软件开发工程师梦作文
怎么破解网络安全密钥
国家网络安全主题教育调研报告
上海思际网络技术有限公司
网络安全发展趋势和判断
网络安全属于国家管理吗
按哪个键可以刷新数据库的显示
阿里云 网络安全法
厦门哪家软件开发培训好
阿里巴巴网络技术有限公司部门
重庆金小六软件开发怎么样
南开大学网络安全研究生录取分数
防尘服务器机柜
网络安全培训公司需要多少钱
刷脸支付软件开发大概费用
杭州张公井网络技术有限公司
软件开发因果分析图案例
下列关于服务器的表述中
组建网络安全应急队伍怎么写
惠山区轩雨阁网络技术服务
数据库技术分析
电脑怎么删除 清理数据库
软件开发接口类型有几种
网络安全视频会议 王军
软件开发的画面设计