1. 输入校验
流程:用户提交表单 -> 进行类型转换(有错,转到input视图)
-> 输入校验validateXxxx()(有错,转到input视图)
-> validate()(有错,转到input视图)
如果fliedErrors里存有信息,则Action转到input视图. 在转向的input视图中,可以用 <s:fielderror/> 拿到错误信息,但是默认带了<ul><li> XXXX </ul></li>,于是常用<s:properties>直接拿出值,再自己做修饰
1)手工在Action里写validate()或validateXxxx()方式
在执行execute()方法前,首先执行输入校验
* validate()对所有方法进行校验
* validateXxxxx() 对 xxxxx()这个方法进行校验
如:
public void validate() {//会对action中的所有方法校验
if(this.username==null || "".equals(this.username.trim())){
this.addFieldError("username", "用户名不能为空");
}
if(this.mobile==null || "".equals(this.mobile.trim())){
this.addFieldError("mobile", "手机号不能为空");
}else{
if(!Pattern.compile("^1[358]\\d{9}$").matcher(this.mobile).matches()){
this.addFieldError("mobile", "手机号格式不正确");
}
}
}
2)运用验证框架
1. 对所有方法进行校验
在要校验的Action的包下建一文件 ActionName-validation.xml,如要对UserAction中所有方法都需要输入校验,则建文件UserAction-validation.xml
2. 对某个方法进行校验
在要校验的Action的包下建一文件 ActionName-action_url-validation.xml
action_url 是访问该Action时除namespace外那些
如: 要对UserAction中add()方法进行输入校验,则建文件UserAction-user_add-validation.xml
该Action在struts.xml里的配置如下:
<struts>
<package name="person" namespace="/user" extends="struts-default">
<action name="user_*" class="cn.itcast.action.PersonAction" method="{1}">
<result name="input">/index.jsp</result>
<result name="message">/WEB-INF/page/message.jsp</result>
</action>
</package>
</struts>
//表单里
<form action="user/user_add" method="post">
........
</form>
//ActionName-validation.xml
这个文件的模板在struts2 的示例程序里可找到
在xwork1.0.3.jar里的default.xml里可找到各种校验器
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-
validator-1.0.3.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring"> <!--校验器requiredstring-->
<param name="trim">true</param> <!--给requiredstring的trim属性注入值-->
<message>用户名不能为空!</message>
</field-validator>
</field>
<field name="mobile">
<field-validator type="requiredstring"> <!--校验器requiredstring-->
<message>手机号不能为空!</message>
</field-validator>
<field-validator type="regex"> <!--校验器regex-->
<param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
<message>手机号格式不正确!</message>
</field-validator>
</field>
</validators>
<![CDATA[^1[358]\d{9}$]]>
<![CDATA[ *** ]]> 表示里面的东西只当做普通字符串对待,也就是说,可以是一些特殊字符
校验文件执行顺序:BaseAction-validation.xml -> BaseAction-xxxxx-validation.xml ->UserAction-validation.xml ->UserAction-
xxxx-validation.xml
当冲突时,后面的把前面的覆盖
分享到:
相关推荐
struts框架验证---输入校验器大全
NULL 博文链接:https://huangminwen.iteye.com/blog/1004575
Struts2输入校验总结 Struts2输入校验
可以在Dosbox下运行以下程序,附有详细的注释,仅供参考 ...输入一串字符串(长度不超过20),以二进制形式显示输出该字符串; 对该字符串做CRC-16校验,以二进制形式显示输出该字符串的CRC校验码。
struts2的输入校验有两种方式: 一.重写validate()方式 二.采用配置文件的方式 先我们就以一个简单的登录的例子来讲解这个吧. 重点讲解下,第二个采用配置文件的方式: 1.添加一个xml的校验文件,保存在...
一个crc 16校验的小程序, 输入要校验的16进制数, 即可显示校验结果. 其中涉及字符串转16进制以及16进制转字符串的实现
输入的数据量与频度 输入信息的来源和形式 输入格式的灵活程度 输入速度和准确性要求 输入校验方法,允许的错误率及纠正的难易程度 数据的要求,特点和保密性 数据输入的环境 可选用的设备和费用等. 4.输入设备:键盘+...
编程算法前的自我校验工具。数据帧结构 输入工具中,帮助验证自己程序模块的正确性。与编程平台无关。
struts2输入校验 对指定方法进行输入校验
输入校验之validateXXX方法校验的一个例子
Struts2输入校验,Struts2提供了功能强大的输入校验机制,通过Struts2内建的输入校验器,应用无需书写任何代码,即可完成大部分的校验功能,并可以同时完成客户端和服务器端的校验。
引用vueValidate插件,做到多个input框的同时校验,右侧提示同时显示
基于Struts2框架的用户输入校验的完整讲解!是我的原创! 非常感谢大家提出宝贵意见
主要介绍了vue input 校验字母数字组合且长度小于30的实现代码,文章给大家补充介绍了在Vue.Js下使用el-input框只能输入数字并限制位数并且限制中文输入以及粘贴功能,感兴趣的朋友跟随脚本之家小编一起看看吧
实验目的: 熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 ...(2) 根据实验四的图书管理系统,扩展图书新增功能,要求对新增页面表单中的每个文件输入框进行输入校验
struts2输入校验总结,struts2自带的校验器,以及校验器不能做的check的处理的总结
matlab环境下的文件校验工具, 语法:File_verification_cmd(); 适用:放入工作路径,输入File_verification_cmd();...其他:输入的校验码会自动转成大写;生成的校验码默认为大写,保存在打开的文件的路径下。
Struts 2 输入校验