Asp.net MVC如何对输入的字符串字段做Trim处理
发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,这篇文章将为大家详细讲解有关Asp.net MVC如何对输入的字符串字段做Trim处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MVC4.6中实现方式1,实现I
千家信息网最后更新 2025年02月20日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安全错误
数据库的锁怎样保障安全
网络安全法 业主电话
虹膜数据库视频
网络技术relayagent
网络安全测试专家要求
灵武政务软件开发公司价格
廊坊网络技术选择
数据库复制与备份
为什么数据库还原失败
幼儿园网络安全校园日
数据库管理员要学什么6
厦门戴鑫网络技术有限公司
怎么写一个数据库调度
数据库映像怎么修改
服务器扩容分区用的什么软件技术
湖北公安网络安全在线考试
广电网络安全播
明俊信诚网络技术有限公司
seer数据库数据筛选
广州家政软件开发报价
云数据库检索技术
手机软件开发知识
网上商城数据库需要哪些表
2015上海会议数据库
服务器交流论坛
樱花园租房软件开发
5g网络技术市场产值
苍南仪表售气管理系统数据库
睿能科技 工业互联网
软件工程软件开发费用怎么算
网络安全技术的应用论文