Asp.net MVC如何对输入的字符串字段做Trim处理
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章将为大家详细讲解有关Asp.net MVC如何对输入的字符串字段做Trim处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MVC4.6中实现方式1,实现I
千家信息网最后更新 2024年09月21日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安全错误
数据库的锁怎样保障安全
讲网络技术的书
软件开发生产商
海康蜂鸟服务器管理平台
数据库如何向表添加记录
河北服务器电源充电方法
阳晞网络技术
分离后的数据库到哪儿找
数据库增删改查语句四则运算
网络安全进校园直播课
mysql数据库添加数据
服务器操作系统正版分类
服务器和监控硬盘的区别
搜数据库题怎么搜最全面
关于软件开发的题目
服务器文件管理器无法打开
数据库生成er图 web
电信网络安全
数据库日期时间数据类型
多网站数据库如何全部备份
php xmpp 服务器
网络安全csf
数据库技术工程师的工作任务
英雄联盟能跨服务器联机吗
19项网络安全能力的适用性评价
社区系统软件开发流程
金蝶 k3 修改数据库名
奥哲网络技术待遇
鼎维软件开发有限公司
建立一个sql数据库
服务器安全登陆不上怎么办