S MVC不仅是在架构上改变了项目,使代码变得可复用、可维护与可扩展,其在功能上也加强了不少。比如S MVC可以使用验证器V与JSR303完成后台验证功能。本文就来讲一讲S MVC验证器V工作流程。源码下载的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!https://www.yimazhan.com ![]() S MVC验证器V际上是一个接口,通过现该接口来定义对体对象的验证,接口如下所示: ; ** * S MVC内置的验证器接口 * V { ** * 是否可以验证该类型 * (C ); ** * 执行验证 表示要验证的对象 表示错误信息 * (O , E ); } 1定义验证器 51; E; VU; V; ** * 产品验证器 * * PV V { 当前验证器可以验证的类型 @O (C ) { PAF(); } 执行校验 @O (O , E ) { 将要验证的对象转换成P类型 P =(P); 如果产品称为空或为空格,使用工具类 VUIEOW(, , , 产品称必须填写); 价格,手动判断 (P()0){ V(, Z, 产品价格必须大于等于0); } 产品类型必须选择 (PT()I()==0){ V(T, T, 请选择产品类型); } } } VU是一个工具类,中间有一些方可以用于判断内容是否有误。 2执行校验 新增保存,如果新增成功转回列表页,如果失败回新增页,保持页面数据 @RM(S) S S(M , P , BR R) { 创建一个产品验证器 PV = PV(); 执行验证,将验证的结果给R,该类型继承E (, R); 获得所有的字段错误信息,非必要 (FE : RFE()) { S(F() + , + C() + , + DM()); } 是否存在错误,如果没有,执行添加 (!RE()) { 根据类型的编号获得类型对象 PT(TSPTBI(PT()I())); SP(); :; } { 与绑定的模型 A(, ); 用于生成下拉列表 A(T, TSAPT()); ; } } 注意在参数中增加了一个BR类型的对象,该类型继承自E,获得绑定结果,承载错误信息,该对象中有一些方法可以获得完整的错误信息,可以使用E方法判断是否产生了错误。 3在UI中添加错误标签 %@ ="" T="; =UTF-8" E="UTF-8"% %@ ="" =":"% %@ ="" =":" % !DOCTYPE -="C-T" =";=UTF-8" ="" ="" ="" 新增产品 ="" 2 =""新增产品2 : ="S" A="" 产品 =""产品称: : ="" : ="" C="": =""产品类型: : ="T" : ="0"--请选择--: : ="${T}" L="" V="" : : ="T" C="": =""产品价格: : ="" : ="" C="": ="" ="保存" =" " : =": "${} =": ="" " =" "返回列表 发生错误时解析的结果: !DOCTYPE -="C-T" =";=UTF-8" ="" ="" ="" 新增产品 ="" 2 =""新增产品2 ="" ="S" ="" 产品 =""产品称: ="" ="" ="" ="" ="" =""产品称必须填写 =""产品类型: ="T" ="T" ="0" =""--请选择-- ="11"数码电子 ="21"鞋帽服饰 ="31"图书音像 ="41"五金家电 ="51"生鲜水果 ="T" =""请选择产品类型 =""产品价格: ="" ="" ="" ="-100" ="" =""产品价格必须大于等于0 ="" ="保存" =" " =": " ="SMVC51" =" "返回列表 4测试运行 控制台输出: 上面就是S MVC验证器V工作流程,当然这只是验证器V的单独工作的部分,S MVC的后台验证功能还需要JSR303验证器的参与,想了解JSR303验证器工作原理和流程的小伙伴可以观看本站的S MVC视频教程。 |
一、出装推荐核心出装(打野流):贪婪之噬(打野刀)抵抗之靴(
作为中国现象级MOBA手游,《王者荣耀》的战术体系始终围绕英雄出
番茄炒蛋的家常做法(国民下饭菜!5分钟搞定,酸甜嫩滑一口入魂
鱼香肉丝的家常做法(酸甜辣鲜,正宗下饭菜!零失败教程~)&#
可乐鸡翅的家常做法(简单易上手,新手也能一次成功!)食材准备