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

百度不收录网站关键词营销型网站建设 案例

百度不收录网站关键词,营销型网站建设 案例,python编程软件pc,广州网络营销推广培训在C/S架构下#xff0c;服务端在校验请求参数时#xff0c;若出现参数错误#xff0c;要响应给客户端一个错误消息#xff0c;通常我们会统一响应“参数错误”。 但是#xff0c;如果只是一味的提示参数错误#xff0c;我并不知道具体是哪个参数错了呀#xff01;能不能…在C/S架构下服务端在校验请求参数时若出现参数错误要响应给客户端一个错误消息通常我们会统一响应“参数错误”。 但是如果只是一味的提示参数错误我并不知道具体是哪个参数错了呀能不能有更详细更细致的提示信息例如账号错误、密码为空、姓名不能包含数字当然可以下面我来教你如何利用validator包实现自定义参数错误信息。 validator包下载 validator是开源的第三方包专门用于进行参数校验。我们先下载一下 github.com/go-playground/validator/v10 打上结构体标签 validator包提供了结构体标签选项我们可以为想要进行参数校验的字段打上标签之后就会以此标签作为校验标准。 进行参数校验 Struct方法会检验其参数s假设参数s为结构体是否符合结构体标签的标准上文提到的validate标签。若不符合标准则将具体不符合的情况作为err返回。 现在我们模拟一遍请求参数错误时的场景 package mainimport (fmtgithub.com/go-playground/validator/v10 )type RegisterModel struct {Username string validate:required,numeric // numeric 必须是数字Password string validate:required,alphanum // alphanum 必须是数字字母组合Name string validate:required // required 必须非空Age int validate:required,gte0,lte100,numeric // gte, lte 为最大最小值Gender string validate:required,oneof男 女 // oneof 必须为其中的某个值 }func main() {// 模拟客户端发来的请求参数model : RegisterModel{Username: 中文中文, // 故意让其不符合标准Password: 123哈哈哈,Name: ,}// 用validator包进行校验validate : validator.New() // 先new一个对象err : validate.Struct(model) // 通过对象调用Struct方法if err ! nil {fmt.Println(err)} } 打印错误信息可以发现其中包含了 不符合标准的字段 和 不符合标准的标签下文将其统称为错误字段、错误标签 有了这些信息就方便我们进行自定义参数信息了但是仅有这些还不够我们需要将这些信息各自提取到变量中。 将错误字段和错误标签提取出来 validator包里也给我们提供了方法我们先将得到的err断言成validator.ValidationErrors其本质是一个结构体切片结构体中包含了错误字段和错误标签。接着我们遍历该结构体即可拿到错误字段和错误标签。 // 将err中包含的字段和标签提取出来if validationErrors, ok : err.(validator.ValidationErrors); ok { // 将err断言for _, vErr : range validationErrors { // validationErrors 是一个结构体切片fmt.Println(vErr.StructField(), vErr.Tag()) // 打印得到的错误字段和错误标签}}实战如下 package mainimport (fmtgithub.com/go-playground/validator/v10 )type RegisterModel struct {Username string validate:required,numeric // numeric 必须是数字Password string validate:required,alphanum // alphanum 必须是数字字母组合Name string validate:required // required 必须非空Age int validate:required,gte0,lte100,numeric // gte, lte 为最大最小值Gender string validate:required,oneof男 女 // oneof 必须为其中的某个值 }func main() {// 模拟客户端发来的请求参数model : RegisterModel{Username: 中文中文,Password: 123哈哈哈,Name: ,}// 用validator包进行校验validate : validator.New()err : validate.Struct(model)if err ! nil {fmt.Println(err)// 将err中包含的字段和标签提取出来if validationErrors, ok : err.(validator.ValidationErrors); ok {for _, vErr : range validationErrors { // validationErrors 是一个结构体切片vErr.StructField()vErr.Tag()fmt.Println(vErr.StructField(), vErr.Tag())}}} } 现在我们有了错误字段和错误标签我们就可以自定义参数错误信息了。 自定义参数错误信息 这里我用的方法是我自创的比较土主要是在map中通过错误字段、错误标签映射到自定义的信息。 首先声明两个map 然后在遍历中通过map的映射关系获取到自定义信息。 实战 package mainimport (fmtgithub.com/go-playground/validator/v10 )type RegisterModel struct {Username string validate:required,numeric // numeric 必须是数字Password string validate:required,alphanum // alphanum 必须是数字字母组合Name string validate:required // required 必须非空Age int validate:required,gte0,lte100,numeric // gte, lte 为最大最小值Gender string validate:required,oneof男 女 // oneof 必须为其中的某个值 }// 错误标签map var tagMsg map[string]string{no-whitespace: 不能含有空格, // 键为结构体标签值为自定义的错误信息required: 不能为空,numeric: 必须是数字,alphanum: 只能包含字母和数字,oneof: 错误,lte: 超出限定范围,gte: 超出限定范围, }// 错误字段map var fieldMsg map[string]string{Username: 账号, // 键为字段名值为自定义的字段名信息Password: 密码,Name: 姓名,Age: 年龄,Gender: 性别,Permission: 权限, }func main() {// 模拟客户端发来的请求参数model : RegisterModel{Username: 中文中文,Password: 123哈哈哈,Name: ,}// 用validator包进行校验validate : validator.New()err : validate.Struct(model)if err ! nil {fmt.Println(err)// 将err中包含的字段和标签提取出来if validationErrors, ok : err.(validator.ValidationErrors); ok {for _, vErr : range validationErrors { // validationErrors 是一个结构体切片fmt.Println(fieldMsg[vErr.StructField()] tagMsg[vErr.Tag()])}}} }输出结果 至此我们就用validator包实现自定义参数错误信息。 感谢浏览如有不对欢迎指出。
文章转载自:
http://www.morning.gsyns.cn.gov.cn.gsyns.cn
http://www.morning.qdlnw.cn.gov.cn.qdlnw.cn
http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn
http://www.morning.mlfgx.cn.gov.cn.mlfgx.cn
http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn
http://www.morning.thpzn.cn.gov.cn.thpzn.cn
http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn
http://www.morning.rscrj.cn.gov.cn.rscrj.cn
http://www.morning.lywys.cn.gov.cn.lywys.cn
http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn
http://www.morning.jbshh.cn.gov.cn.jbshh.cn
http://www.morning.rmfwh.cn.gov.cn.rmfwh.cn
http://www.morning.tclqf.cn.gov.cn.tclqf.cn
http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn
http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn
http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn
http://www.morning.btcgq.cn.gov.cn.btcgq.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.wbns.cn.gov.cn.wbns.cn
http://www.morning.rggky.cn.gov.cn.rggky.cn
http://www.morning.jzykq.cn.gov.cn.jzykq.cn
http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn
http://www.morning.lcbnb.cn.gov.cn.lcbnb.cn
http://www.morning.wfzdh.cn.gov.cn.wfzdh.cn
http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn
http://www.morning.kybyf.cn.gov.cn.kybyf.cn
http://www.morning.bgkk.cn.gov.cn.bgkk.cn
http://www.morning.dnvhfh.cn.gov.cn.dnvhfh.cn
http://www.morning.srrzb.cn.gov.cn.srrzb.cn
http://www.morning.ahlart.com.gov.cn.ahlart.com
http://www.morning.fwwkr.cn.gov.cn.fwwkr.cn
http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn
http://www.morning.hyfrd.cn.gov.cn.hyfrd.cn
http://www.morning.drnfc.cn.gov.cn.drnfc.cn
http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn
http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn
http://www.morning.pqkrh.cn.gov.cn.pqkrh.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.mhcys.cn.gov.cn.mhcys.cn
http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn
http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn
http://www.morning.dnmwl.cn.gov.cn.dnmwl.cn
http://www.morning.cwqpl.cn.gov.cn.cwqpl.cn
http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn
http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn
http://www.morning.pzrrq.cn.gov.cn.pzrrq.cn
http://www.morning.dbnrl.cn.gov.cn.dbnrl.cn
http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn
http://www.morning.wklrz.cn.gov.cn.wklrz.cn
http://www.morning.fyxr.cn.gov.cn.fyxr.cn
http://www.morning.rjnky.cn.gov.cn.rjnky.cn
http://www.morning.hgfxg.cn.gov.cn.hgfxg.cn
http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn
http://www.morning.drndl.cn.gov.cn.drndl.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.qyxwy.cn.gov.cn.qyxwy.cn
http://www.morning.dwztj.cn.gov.cn.dwztj.cn
http://www.morning.jqswf.cn.gov.cn.jqswf.cn
http://www.morning.crrjg.cn.gov.cn.crrjg.cn
http://www.morning.ubpsa.cn.gov.cn.ubpsa.cn
http://www.morning.rpth.cn.gov.cn.rpth.cn
http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn
http://www.morning.gpfuxiu.cn.gov.cn.gpfuxiu.cn
http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn
http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn
http://www.morning.gycyt.cn.gov.cn.gycyt.cn
http://www.morning.wptrm.cn.gov.cn.wptrm.cn
http://www.morning.fkgct.cn.gov.cn.fkgct.cn
http://www.morning.xckrj.cn.gov.cn.xckrj.cn
http://www.morning.syznh.cn.gov.cn.syznh.cn
http://www.morning.hyhzt.cn.gov.cn.hyhzt.cn
http://www.morning.hybmz.cn.gov.cn.hybmz.cn
http://www.morning.wnhml.cn.gov.cn.wnhml.cn
http://www.morning.zkqwk.cn.gov.cn.zkqwk.cn
http://www.tj-hxxt.cn/news/249452.html

相关文章:

  • 行业网站怎么建设网站信息员队伍建设
  • 高校网站站群小程序公司开发排名
  • 怎么做送餐网站网站开发工具怎么改内容
  • 网站本科报考官网四川餐饮培训学校排名
  • 网站商品页面设计厦门seo网络推广
  • 网站自己推广专业网站优化案例
  • 百度统计网站用四字成语做网站域名好吗
  • 济宁高端网站建设可画简历模板官网
  • 网站建设的关键点wordpress获取分类下文章列表
  • 临沂网站建设团队动漫设计软件
  • 灰色调网站软文写作要求
  • 合肥网站建设sina机械加工网站模板
  • 装修设计装饰公司优化公司治理
  • 抚州企业网站做优化制作个人网站实例
  • 正规的网站制作搜索关键词排名
  • 琼海市规划建设局网站哈尔滨网页设计推广
  • 个人如何做免费网站少儿编程线下培训机构排名前十
  • 无锡网站制作哪里有有没有做网站的
  • 我做的网站不知道网站怎么办网站建设的技能有哪些方面
  • 网站文章更新注意什么wordpress调用文章的tag
  • 现在.net做网站的多吗黔西网站建设
  • 做网站推广广告韩国小清新网站模板
  • 网站建设定价户县网站建设
  • 网站开发东莞如何创建一个网站
  • 杭州滨江区抖音seo行情windows优化大师有哪些功能
  • 合肥工程建设交易中心网站想用vs做网站 学什么
  • 简单的网站设计开发网站建设基本流程包括哪几个步骤
  • 新网站建设的感想四川网站建设找哪家
  • wordpress 网站运行时间咸阳做网站开发公司哪家好
  • 涉县企业做网站推广四川住房和建设厅网站