zoukankan      html  css  js  c++  java
  • ModelState

    https://www.cnblogs.com/basterdaidai/p/6679849.html

    ASP.NET MVC里ModelState.IsValid总是true或者总是false
    model的属性如果不加验证相关的特性,ModelState.IsValid会永远为true;如果加了验证相关的特性,不满足验证规则时,ModelState.IsValid为false.
    接收到参数属性类型与Model定义不符时,ModelState.IsValid也会为false.

    参数模型:

    复制代码
    public class PersonModel
    {
    public string FirstName { get; set; }

    public string LastName { get; set; }

    public int Status { get; set; }
    }
    复制代码


    控制器代码

    复制代码
         [HttpPost]
    public string ReceivePerson(PersonModel model)
    {
    if (!ModelState.IsValid)
    {
    var msg = string.Empty;
    foreach(var value in ModelState.Values)
    {
    if(value.Errors.Count>0)
    {
    foreach(var error in value.Errors)
    {
    msg = msg + error.ErrorMessage;
    }
    }
    }
    return msg;
    }
    else
    return "成功";
    }

    public string Index()
    {
    return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    }
    复制代码
    当给Status传一个“*”时,ModelState.IsValid为false,错误信息为:值“*”对于 Status 无效。

    如果给某个Model的某个字段加上验证特性,比如LastName必需:

    复制代码
    public class PersonModel
    {
    public string FirstName { get; set; }

    [Required()]
    public string LastName { get; set; }

    public int Status { get; set; }
    }
    复制代码
    当LastName为空时,可以看到ModelState.IsValid为false,错误信息为:LastName 字段是必需的。

    现在可以知道ModelState.IsValid总是为false或总是为true了。

  • 相关阅读:
    HDU5029--Relief grain (树链剖分+线段树 )
    codeforces 277.5 div2 F:组合计数类dp
    FZU2176---easy problem (树链剖分)
    Codeforces Round #277.5 (Div. 2) --E. Hiking (01分数规划)
    FZU 11月月赛D题:双向搜索+二分
    POJ
    POJ
    HDU 4746 Mophues(莫比乌斯反演)
    BZOJ 2005 能量采集 (莫比乌斯反演)
    BZOJ 2301 Problem b (莫比乌斯反演+容斥)
  • 原文地址:https://www.cnblogs.com/wugh8726254/p/14879643.html
Copyright © 2011-2022 走看看