• 【转载】C#后台声明式验证,远离if验证


    ViewModel

     public class ViewModel
        {
    
            [Required(ErrorMessage="标题不能为空")]
            public string Title { get; set; }
    
    
    
            public string Name { get; set; }
    
    
    
        }
    

    后台验证代码

    public async Task<ActionResult> Save(ViewModel vm)
            {
                var validationContext = new ValidationContext(vm);
                var results = new List<ValidationResult>();
                var isValid = Validator.TryValidateObject(vm, validationContext, results, true); 
                if (!isValid)
                {
                    return Json(new { Result = false, Msg = results.Select(x => x.ErrorMessage).FirstOrDefault() });
                }
                return Json(new { Result = true, Msg = "成功!" });
            }
    

      

    前台调用:

    $.ajax({
                type: "post",
                url: "/home/save",
                data: "title=&name=11222332",
                dataType:"json", 
                success: function(data) {
                     alert(data.Msg);
                } 
            });
    

      

    原文地址:http://www.cnblogs.com/dudu/p/annotation-based-validation.html#3100481

  • 相关阅读:
    架构设计
    git 常用命令
    C# 加载C++的dll
    windows 服务部署管理
    wpf 模板绑定控件属性
    golang开启module模式 go mod
    使用docker安装redis
    使用docker安装elasticsearch
    使用docker安装etcd
    使用docker安装mysql5.7
  • 原文地址:https://www.cnblogs.com/Karson001/p/4531920.html
Copyright © 2020-2023  润新知