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

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"/>显示错误信息的位置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值