您的位置:首页 > 编程语言 > Java开发

struts验证、jsp表单验证、action验证方法总结

2011-08-18 17:09 513 查看
1、struts验证

struts2提供了一套数据验证框架,只需要对每个要验证的数据项提供要验证的配置信息即可。具体写法如下:假设有一个Action类,名字叫xxxAction,要经过这个Action进行业务逻辑处理之前,必须要对从客户端发过来的数据进行有效性验证。用户只需要提供一个名字叫xxx-validation.xml的配置文件,在这个配置文件里对每个要验证的数据项进行配置如:<field
name="staff.loginName">

<field-validator type="requiredstring">

<param name="trim">true</param>

<message>登录名不能为空!</message>

</field-validator> </field>

只在执行Action的处理方法之前,struts2会根据这个配置文件调用验证框架(其实是一个拦截器)对数据进行验证。(注意:此验证字段只能是与action类对应存在的字段)如果没有通过验证,该拦截器会将错误消息放到错误消息中,在页面可以输出错误消息如:<s:fielderror fieldName="staff.loginName"/>对应输出员工登陆名不符合条件时的错误信息:登录名不能为空!

2、jsp提交表单验证

(1)包括是否选择了操作、输入为空时的验证等。例如:用户必须选择某一操作才能继续执行,JSP页面代码(radio):

<form id="deleteSubForm" action="<s:url action='deleteSubject' namespace='/questiontype'/>" method="get">

<input type="radio" name="delete" id="select1" value="1">删除该学科下的所有试题</input><br><br>

<input type="radio" name="delete" id="select2" value="2">转移到该学科其他题型下</input>

<div class="check" style="display:none;color:red">请选择你要进行的操作!</div>

<button class="button" type="button" >确定</button>

</form>

用javascript/jquery验证用户是否选择了上述的某一操作,

<script type="text/javascript">

$(".button").click(function(){

var item = $(":radio:checked");

var len=item.length;

if(len>0)

{

//用户已做出选择,提交表单

$('#deleteSubForm').submit();

}//未做出选择

else

{ //显示提示信息:请选择你要进行的操作

$('.check').show();

}

});

</script>

(2)验证checkbox时候

<form id="addSubForm" action="<s:url action='deleteSubject' namespace='/questiontype'/>" method="get">

<input type="checkbox" name="questiontype.subject_id" id="subjectid" value="1" >语文</input>

<input type="checkbox" name="questiontype.subject_id" id="subjectid" value="2" >数学</input>

<input type="checkbox" name="questiontype.subject_id" id="subjectid" value="3">英语</input>

<div class="check" style="display:none;color:red">请选择学科!</div>

<button class="button" type="button" >确定</button>

<script type="text/javascript">

$(".button").click(function(){

//判断是否选中复选框

if($('#subjectid').attr('checked')==true)

{

//用户已做出选择,提交表单

$('#addSubForm').submit();

}//未做出选择

else

{ //显示提示信息:请选择学科

$('.check').show();

}

});

</script>

3、Action中可以根据程序的情况验证用户信息重复,验证不符合要求利用:this.addActionError("您输入的题型:<span style='color:red'>"+this.getQuestiontype().getName()+"</span>已经存在"); 在JSP页面加上<s:actionerror
escape="false"/>显示错误信息的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: