首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏wfaceboss

    ModelState.AddModelError使用

    后台:ModelState.AddModelError("userPwd", "请输入密码!") ; ModelState是一个字典类型,这句话的作用是向ModelState中添加一条错误信息,第一个参数是Key,第二个参数是Value。 前台:Html.ValidationMessage(key) 或 Html.ValidationSummary() 来显示 对于什么时候使用ModelState.AddModelError(模型错误 _localizationService.GetResource("Event.EventRegister.No_NowEvent"); //进行语言转换 ModelState.AddModelError hadPhoneNumber = _localizationService.GetResource("Event.EventRegister.PhoneNumber"); ModelState.AddModelError

    83320发布于 2019-04-08
  • 来自专栏用户5447549的专栏

    再说表单验证,在Web Api中使用ModelState进行接口参数验证

    其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState 认识ModelState 我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validate.unobtrusive这个插件就能轻松的在页面上输出错误信息,详细的介绍可以参考这篇文章 再看看ModelState类型是个什么鬼: [Serializable] public class ModelState { // Fields private ModelErrorCollection (var key in ModelState.Keys) { var state = ModelState[key]; (var key in modelState.Keys) { var state = modelState[key];

    3.4K50发布于 2020-04-27
  • 来自专栏逸鹏说道

    我这么玩Web Api(二)

    ModelState   我理解的ModelState是微软在ASP.NET MVC中提出的一种新机制,它主要实现以下几个功能:   1. 微软的一种DRY(Don't Repeat Yourself)设计,通过ModelState可以做服务端验证,同时可以配合jquery validation生成前端数据验证。    但是在Web API里面,ModelState的主要功能就只剩下第2点了。   需要注意的是,ModelState一般只做输入验证,一些其他的业务验证还有要在特定的地方进行处理。 ModelState.IsValid) { return BadRequest(ModelState); } return CreatedAtRoute ModelState.IsValid) //{ // return BadRequest(ModelState); //} return

    1.6K60发布于 2018-04-10
  • 来自专栏草根专栏

    从头编写 asp.net core 2.0 web api 基础框架 (2)

    ModelState.IsValid) { return BadRequest(ModelState); } 只要其中有一个验证没通过, 那么ModelState.IsValid属性就是False. 可以设置断点查看ModelState里面都有哪些东西. ModelState.IsValid) { return BadRequest(ModelState); } ModelState.IsValid) { return BadRequest(ModelState); } 我们做了ModelState检查, 但是为什么没有验证出来呢?

    1.9K80发布于 2018-03-01
  • 来自专栏大内老A

    Model验证系统运行机制是如何实现的?

    ) 27: { 28: Response.Write(key + "
    "); 29: ModelState modelState 我们知道输出的ModelState的值是在Model绑定过程中通过ValueProvider提供的,而伴随着Model绑定的验证则会根据验证的结果对ModelState的ModelError进行设置。 在该方法执行过程中,如果具有相同Key的ModelState对象存在,那么被添加的ModelError将会直接添加到它的Errors集合中;否则会添加一个新的ModelState并将添加的ModelError <KeyValuePair<string, ModelState>>, 3: IEnumerable<KeyValuePair<string, ModelState>>, IEnumerable 在Action方法Index中,我们通过调用当ModelState属性的AddModelError方法认为地添加三个错误消息,对应的ModelState名称与作为Model的Contact类型的属性名称一致

    2.2K110发布于 2018-01-15
  • 来自专栏深蓝居

    在MVC中使用Json.Net序列化和反序列化Json对象

    ModelMetadata = propertyMetadata, ModelName = fullPropertyKey, ModelState = bindingContext.ModelState, ValueProvider = bindingContext.ValueProvider modelState = bindingContext.ModelState[fullPropertyKey]; if (modelState == null || modelState.Errors.Count , displayName); modelState.Errors.Remove(error); modelState.Errors.Add(errorMessage); break; }

    1.9K20编辑于 2022-06-16
  • 来自专栏数据结构和算法

    ASP.NET CORE Study06

    传入匿名方法,并且配置错误警告的详细信息 var problemDetails = new ValidationProblemDetails(context.ModelState TryValidateModel(ModelState)) { return ValidationProblem(ModelState EmployeeUpdateDto>(employeeEntity); // 使用 patchDoucument ,将请求传递的参数传递给 dto 类 // 传递第二个参数,ModelState ,则可以都请求传递的数据进行数据验证 patchDocument.ApplyTo(dtoToPatch, ModelState); // TryValidateModel TryValidateModel(dtoToPatch)) { return ValidationProblem(ModelState);

    36810编辑于 2023-11-30
  • 来自专栏不止dotNET

    dotNET Core WebAPI 统一处理(返回值、参数验证、异常)

    ModelState.IsValid) { foreach (var item in ModelState.Values) context.ModelState.IsValid) { var result = context.ModelState.Keys .SelectMany(key => context.ModelState[key].Errors.Select(x => new ValidationError(key, x.ErrorMessage ) { Code = 422; Message = "参数不合法"; Result = modelState.Keys context.ModelState.IsValid) { context.Result = new ValidationFailedResult(context.ModelState

    11.8K60发布于 2019-08-23
  • 来自专栏大内老A

    这算是ASP.NET MVC的一个大BUG吗?

    StackOverflow上也有对这个问题的描述http://stackoverflow.com/questions/1775170/asp-net-mvc-modelstate-clear 闲话少说, 如下所示,当InputHelper在指定表单元素值得时候,会先从当前ModelState中获取,如果该值在ModelState中不存在,才会从当前ViewData中获取。 对于本例来说,ModelState中的值是原始值,ViewData的值采用修改后的值。 其实我觉得严格来说也是无奈之举吧, 拿Update场景来说 比如说Model里面的某个Property可能是Int的,但是你传入的Form值却可能是任意的字符串,这时后台ModelState.IsValid 所以这个角度看来ModelState的优先级是比较高的。 [你总不能回显一个0,然后错误提示“你输入的不是数值类型”吧]

    1.1K80发布于 2018-01-15
  • 来自专栏liulun

    ASP.NET Core教程【三】实体字段属性、链接标签、并发数据异常、文件上传及读取

    ModelState.IsValid) { return Page(); } _context.Attach(Movie).State = EntityState.Modified 那么我们看看怎么直接读取这个文本文件; public static async Task<string> ProcessFormFile(IFormFile formFile, ModelStateDictionary modelState = "text/plain") { modelState.AddModelError(formFile.Name, $"The {fieldDisplayName 调用上面方法的代码如下: var publicScheduleData = await FileHelpers.ProcessFormFile(FileUpload.UploadPublicSchedule, ModelState ); 其中ModelState是PageModel特有的属性 在本示例中,用于给页面添加错误信息~

    2K60发布于 2018-01-12
  • 来自专栏张志敏的技术专栏

    在 ASP.NET WebAPI 中使用 DataAnnotations 验证数据

    Confirm { get; set; } } 添加了对应的验证标记之后, ASP.NET WebAPI 在参数绑定时会根据验证标记做相应的检查, 并将检查结果放在 ApiController 的 ModelState ApiController { [HttpPost] public IHttpActionResult Register(RegisterModel model) { if (ModelState.IsValid return Ok(model.Username); } return BadRequest(ModelState); } } 如果我们只输入用户名, 没有输入密码和确认密码 ", "ModelState": { "model.Password": ["The Password field is required."], "model.Confirm

    1.5K20发布于 2020-08-10
  • 来自专栏dotnet & java

    讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

    自动模型状态验证 这个是重点,框架会帮你自动验证model的state,也就是ModelState. 他内部会检查ModelState是否为Valid,如果为InValid会直接返回400 BadRequest,这样就没有必要执行后面的代码,提高效率。 ) //判断状态 { return BadRequest(ModelState); } //其他代码。。。 Controller { [HttpPost("")] public IActionResult PostBook(Book book) { //直接写,不用验证modelstate options.InvalidModelStateResponseFactory = actionContext => { var errors = actionContext.ModelState

    83820发布于 2018-08-24
  • 来自专栏博客园

    讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

    自动模型状态验证 这个是重点,框架会帮你自动验证model的state,也就是ModelState. 他内部会检查ModelState是否为Valid,如果为InValid会直接返回400 BadRequest,这样就没有必要执行后面的代码,提高效率。 ) //判断状态 { return BadRequest(ModelState); } //其他代码。。。 Controller { [HttpPost("")] public IActionResult PostBook(Book book) { //直接写,不用验证modelstate options.InvalidModelStateResponseFactory = actionContext => { var errors = actionContext.ModelState

    89620发布于 2018-08-31
  • 来自专栏IT民工的代码世界

    ORM设计思想——智能识别更新字段与日志AOP追踪记录

    IMessage message; try { //如果是set方法,且不是设置ModelState 的方法,且ModelState为Modified时,记录更新字段 if (callMsg.MethodName.StartsWith("set_") && args.Length callMsg.MethodName.Contains("ModelState")) { object obj = = type.GetProperty("ModelState"); if ((ModelStateEnum)ModelState.GetValue(obj return message; } return msg; 判断MethodInfo的以set_开头并且不为设置基类状态属性ModelState

    52620编辑于 2023-07-19
  • 来自专栏Java架构师必看

    winform能做出漂亮的界面吗_winform界面美化第三方控件

    code var fluent = mvvmContext.OfType<ViewModel>(); fluent.SetBinding(check, e => e.CheckState, x => x.ModelState , modelState => { // Convert the ViewModel.State to CheckState switch(modelState) { case ViewModel.State.Active return ViewModel.State.Suspended; } }); //ViewModel code public class ViewModel { public virtual State ModelState mvvmContext.OfType(Of ViewModel)() fluent.SetBinding(check, Function(e) e.CheckState, Function(x) x.ModelState , Function(modelState) Select Case modelState Case ViewModel.State.Active [Return] CheckState.Checked

    4.1K20编辑于 2022-08-26
  • 来自专栏晓晨的专栏

    ASP.NET Core 添加统一模型验证处理机制

    二.Action过滤器实现统一验证 我们在判断验证状态时一般会在Action里判断ModelState.IsValid是否为true。 public IActionResult Create([FromBody]CreateOrderDto dto) { if(ModelState.IsValid) { context.ModelState.IsValid) { XcHttpResult result = new XcHttpResult() { Result = false }; foreach (var item in context.ModelState.Values) {

    1.5K50发布于 2018-06-22
  • 来自专栏大内老A

    ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC

    fullHtmlFieldName = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name); 6: ModelState modelState; 7:  8: //将ModelState设置为表示是否勾选布尔值 9: if (htmlHelper.ViewData.ModelState.TryGetValue (fullHtmlFieldName, out modelState)) 10: { 11: htmlHelper.ViewData.ModelState.SetModelValue = modelState) 22: { 23: htmlHelper.ViewData.ModelState[fullHtmlFieldName ] = modelState; 24: } 25: } 26: string htmlString = html.ToHtmlString

    5.8K60发布于 2018-01-15
  • 来自专栏小曾

    .Net高级进阶,教你如何构建企业模型数据拦截层,动态控制字段验证

    如图,用 ModelState.IsValid  这段话来对验证结果进行判定,如果实体类上的被标注的特性都满足条件的话,就为true,否则为false。 一番折腾无果,那么就不能从特性本身找突破口了,这时,我把目标转移到ModelState.IsValid上,换一种思路实现。 ? > item in actionContext.ModelState.ToArray()) { if (ia[0].Modes = actionContext.ModelState.IsValid) { actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);

    1.1K10发布于 2018-08-03
  • 来自专栏猿学

    猿学-讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

    自动模型状态验证 这个是重点,框架会帮你自动验证model的state,也就是ModelState. 他内部会检查ModelState是否为Valid,如果为InValid会直接返回400 BadRequest,这样就没有必要执行后面的代码,提高效率。 ) //判断状态 { return BadRequest(ModelState); } //其他代码。。。 Controller { [HttpPost("")] public IActionResult PostBook(Book book) { //直接写,不用验证modelstate options.InvalidModelStateResponseFactory = actionContext => { var errors = actionContext.ModelState

    1.2K00发布于 2018-08-18
  • 来自专栏技术博客

    ExtJs四(ExtJs MVC登录窗口的调试)

    , JObject errors) { foreach (var c in ModelState.Keys) { if (! ModelState.IsValidField(c)) { string errStr = ""; foreach (var err in ModelState[c].Errors) { errStr += err.ErrorMessage + "
    "; 代码通过遍历ModelState中不能通过验证的字段,将其加入到errors对象中。 (ModelState,errors); } 现在要考虑怎么返回这个errors对象,解决办法是在WriteJobjectResult方法加一个类型为JObject的对象,并添加以下代码: if(errors

    5.4K20发布于 2018-09-11
领券