当前位置: 首页 > news >正文

东莞免费建站公司石河子网站制作

东莞免费建站公司,石河子网站制作,沈阳网站建设咨询,媒体发布公司FluentValidation模块支持调用When和Unless函数设置验证规则的执行条件#xff0c;其中when函数设置的是满足条件时执行#xff0c;而Unless函数则是满足条件时不执行#xff0c;这两个函数的使用示例如及效果如下所示#xff1a; public AppInfoalidator() {RuleFor(x…  FluentValidation模块支持调用When和Unless函数设置验证规则的执行条件其中when函数设置的是满足条件时执行而Unless函数则是满足条件时不执行这两个函数的使用示例如及效果如下所示 public AppInfoalidator() {RuleFor(xx.AppName).NotEmpty();RuleForEach(x x.Roles).NotEmpty().WithMessage(角色属性第{CollectionIndex}个集合元素不能为空).MinimumLength(3).WithMessage(角色属性第{CollectionIndex}个集合元素长度不能小于3).When (xx.Roles.Count4);RuleForEach(x x.Users).ChildRules(r {r.RuleFor(r r.UserName).NotEmpty().MinimumLength(5).WithMessage(用户属性第{CollectionIndex}个集合元素长度不能小于5).MaximumLength(10).NotEqual(test).WithMessage(用户属性第{CollectionIndex}个集合元素值不能等于test).Unless(xx.Sex男);});}默认情况下When和Unless函数应用于整个验证链中的所有验证函数如果只想在满足条件时仅影响紧邻When和Unless函数前的验证函数则需在When和Unless函数中设置第二个参数为ApplyConditionTo.CurrentValidator这样的话加入验证链中有4个验证函数前3个每次都会调用最后一个验证函数会根据条件调用。使用时可以根据实际需要在需要加调用条件的验证函数后追加When或Unless函数。 如果是在相同条件下对多个属性进行验证则可直接调用When或Unless函数并将对多个属性的验证规则封装成函数作为输入参数同时FluentValidation模块还提供Otherwise函数当When或Unless函数条件不满足时可以调用Otherwise函数中封装的验证规则进行验证。When或Unless函数再加上Otherwise函数类似于代码中的if else的逻辑。其使用示例及效果如下所示 public AppInfoalidator() {RuleFor(xx.AppName).NotEmpty();When(x x.AppState 0, () {RuleForEach(x x.Roles).NotEmpty().WithMessage(角色属性第{CollectionIndex}个集合元素不能为空).MinimumLength(3).WithMessage(角色属性第{CollectionIndex}个集合元素长度不能小于3);}).Otherwise(() {RuleForEach(x x.Users).ChildRules(r {r.RuleFor(r r.UserName).NotEmpty().MinimumLength(5).WithMessage(用户属性第{CollectionIndex}个集合元素长度不能小于5).MaximumLength(10).NotEqual(test).WithMessage(用户属性第{CollectionIndex}个集合元素值不能等于test);});}); }如果自定义验证类中对多个属性进行验证但在某场景下仅需针对单个属性进行验证FluentValidation模块支持在调用验证类的Validate函数时通过输入参数指定需验证的属性忽略其它属性使用示例及效果如下所示 //自定义验证类的构造函数中定义规则 public AppInfoalidator() {RuleFor(xx.AppName).NotEmpty();RuleForEach(x x.Roles).NotEmpty().WithMessage(角色属性第{CollectionIndex}个集合元素不能为空).MinimumLength(3).WithMessage(角色属性第{CollectionIndex}个集合元素长度不能小于3);RuleForEach(x x.Users).ChildRules(r {r.RuleFor(r r.UserName).NotEmpty().MinimumLength(5).WithMessage(用户属性第{CollectionIndex}个集合元素长度不能小于5).MaximumLength(10).NotEqual(test).WithMessage(用户属性第{CollectionIndex}个集合元素值不能等于test);}); }//调用验证类时指定需验证的属性AppInfoalidator appValidatornew AppInfoalidator();FluentValidation.Results.ValidationResult result appValidator.Validate(app, options {options.IncludeProperties(x x.Roles);});FluentValidation模块支持在自定义验证类的构造函数中分组验证规则未分组的规则默认在default组中。调用验证类验证时如果未指定验证组则仅执行未分组的验证规则支持在Validate函数的输入参数中指定单个或多个规则分组如果要执行所有规则则分组名称使用通配符*或者直接调用IncludeAllRuleSets函数。规则分组的使用示例及效果如下所示 //自定义验证类的构造函数中定义规则组 public AppInfoalidator() {RuleFor(xx.AppName).NotEmpty();RuleSet(RoleCheck, () {RuleForEach(x x.Roles).NotEmpty().WithMessage(角色属性第{CollectionIndex}个集合元素不能为空).MinimumLength(3).WithMessage(角色属性第{CollectionIndex}个集合元素长度不能小于3);});RuleSet(UserCheck, () {RuleForEach(x x.Users).ChildRules(r {r.RuleFor(r r.UserName).NotEmpty().MinimumLength(5).WithMessage(用户属性第{CollectionIndex}个集合元素长度不能小于5).MaximumLength(10).NotEqual(test).WithMessage(用户属性第{CollectionIndex}个集合元素值不能等于test);});}); }//调用验证类时指定规则组 //1调用default和RoleCheck规则组AppInfoalidator appValidatornew AppInfoalidator();FluentValidation.Results.ValidationResult result appValidator.Validate(app,options{options.IncludeRuleSets(default, RoleCheck);});//2) 调用UserCheck规则组AppInfoalidator appValidatornew AppInfoalidator();FluentValidation.Results.ValidationResult result appValidator.Validate(app,options{options.IncludeRuleSets(UserCheck);//options.IncludeRuleSets(*)也适用}); //3调用所有规则AppInfoalidator appValidatornew AppInfoalidator();FluentValidation.Results.ValidationResult result appValidator.Validate(app,options{options.IncludeAllRuleSets();});参考文献 [1]https://docs.fluentvalidation.net/en/latest/start.html
http://www.zqtcl.cn/news/620823/

相关文章:

  • 专业公司网站建设建设人才库网站
  • 怎么自己做直播网站吗手机免费建站app
  • 惠州规划建设局网站seo网站关键词排名优化公司
  • 关键词检测百度seo一本通
  • 做效果图的外包网站徐州低价seo
  • xp系统中做网站服务器吗网站设计版权
  • 化妆品网站建设经济可行性分析怎么做好网站
  • 软件企业网站建设栏目结构图服务公司有哪些
  • 郑州专业做淘宝网站推广哪些公司需要网站开发工程师
  • 如何为企业做网站单页网站推广
  • 做公众号封面图的网站凡客精选app
  • 张家界做旅游网站网业小说畅读服务
  • 短租网站那家做的好网络设计工作好找吗
  • 企业建网站哪家好网络书签 wordpress
  • 网站策划的工作职责有关网站开发的创意
  • 上国外网站dns如何免费做网站推广
  • wordpress导航站的源码网页设计与制作微课教程第4版李敏
  • 建站的好公司wordpress 小工具 调用
  • 郑州高考网站建设wordpress调用多个底部
  • 在线做爰直播网站dw制作网页步骤
  • 视频网站 php源码深圳高端网站建设招聘
  • 企业网站服务费怎么做记账凭证那个网站上有打码的任务做
  • 沈阳做网站优化的公司长春网络建站模板
  • 秒收网站鞍山58同城
  • 模板网站建设方案wordpress系统在线升级
  • 男女做爰视频网站在线视频seo也成搜索引擎优化
  • 网站优化和网站推广深圳市高端网站建设
  • 宁波网站建设优化企业推荐四川省建设厅新网站
  • 哈尔滨模板自助建站优秀的电子商务网站
  • 有站点网络营销平台wordpress 退出 跳转