初学structs2,表单验证
验证 表单 初学
2023-09-27 14:20:23 时间
一、简单表单验证示例
structs.xml配置
<struts> <package name="validate" namespace="/validate" extends="struts-default" > <action name="ValidateDemo" class="cn.hjp.validate.ValidateDemo"> <result name="success" type="dispatcher" >/validate/index.jsp</result> <result name="input" type="dispatcher" >/validate/index.jsp</result> </action> </package> </struts>
前端index页面部分代码:fielderror显示错误信息,如果前端页面HTML标签是使用的structs2标签构成,则可以不使用fielderror标签也能显示,如下面注释中代码
<%@ taglib prefix="s" uri="/struts-tags" %> <!-- <body> <s:form action="ValidateDemo" namespace="/validate" > <s:textfield name="name" label="用户名" ></s:textfield> <s:submit value="提交" ></s:submit> </s:form> </body> --> <body> <form action="/struts2-demo/validate/ValidateDemo.action" method="post" > <input type="text" name="name" /><input type="submit" value="提交"/> </form> <s:fielderror fieldName="name" />
<s:actionerror/>
<s:actionmessage/>
</body>
验证判断代码写在validate方法中
public class ValidateDemo extends ActionSupport { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String execute() throws Exception { // TODO Auto-generated method stub System.out.println(this.toString()); return SUCCESS; } @Override public void validate() { // TODO Auto-generated method stub
// 验证字段 if (this.name == null || this.name.equals("")) { addFieldError("name", "姓名不能为空"); }
//验证的不是字段,没有指定字段的验证错误,也就是业务型错误,就根据情况使用下面两个,而前端页面对应添加<s:actionerror/>和<s:actionmessage/>structs2标签元素
addActionError("Action错误");//action错误
addActionMessage("提示信息");//提示信息
}
}
使用structs2的标签构造的HTML元素时,自定义出现类型错误的显示信息
比如<s:textfield name="age" label="年龄"></s:textfield>,后台年龄字段为整数类型,如果填写成了字符类型,则会报错“Invalid field value for field "age"”;
自定义提示错误信息的方式就是在相应的Action包下,新建相应action名称命名的properties文件,文件内制定对应字段及其错误信息,示例如下
ValidateDemo.properties文件,内容invalidate.fieldvalue.age="年龄字段类型错误"
相关文章
- struts2.1.6教程八、验证机制
- 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
- PHP 表单 - 4(验证邮件和URL)
- angular1 表单验证demo
- koa 项目实战(十)使用 validator 验证表单
- react 项目实战(三)表单验证
- vue 表单验证实例
- 【无线图传】基于FPGA的简易无线图像传输系统verilog开发,matlab辅助验证
- 2.4 表单数据的验证
- AngularJS表单验证,手动验证或自动验证
- ASP.NET MVC异步验证是如何工作的02,异步验证表单元素的创建
- Netty实现SSL双向验证完整实例
- el-table加表单验证
- 微信小程序 功能函数 密码验证*
- Jquery 组 表单验证
- 最新手机号码验证正则表达式(PHP版本)
- 微信小程序等比例缩小图片(用于图片内容合规验证尺寸不能超过750*1334)
- 华为防火墙L2TP 客户机发起端配置(本地验证)
- 浅析HTTPS原理:网络通信的3大问题、对称加密算法、非对称加密算法、对称+非对称交换密钥具体流程及安全隐患、数字证书如何生成颁发如何验证、证书链、hash算法比较摘要防止篡改的流程、HMAC消息认证码对hash的优化、HTTPS的宏观安全模型、安全连接建立流程
- 【数字IC验证快速入门】36、UVM项目实践之APB_SPI(4)APB_SPI 激励(Sequencer)产生【Sequence 机制】
- Spring Boot 2 + Thymeleaf:服务器端表单验证
- AngularJs 入门系列-2 表单验证
- Java新手入门200例120之验证所有的类都是Class类的实例对象
- ivew-admin 校验 自定义验证表单多层嵌套
- 分享炫酷的前端页面滑动验证
- 图文详细解决Windows11设置删除pin开机登录验证
- 尽管苹果打死不认 但iCloud被破解是真的:媒体亲身验证