5.Form Validation(自理解版,非翻译)

介绍:

这节教程我们将探索Struts2来确认用户表单上的输入信息这是有2种方式的,这节我们将更加深入了解在struts2 的action class更加基础的方法。(第一种方法)


在我们上一教程中,我们建立了一个注册页面及他的后台跳转。但是如果注册的用户输入信息是错误的。那我们如何提示返回给他们呢?

这就要牵扯到一个确认输入信息的struts2方法了。第一种是利用继承于actionSupport基类中的Validate方法。

如他的名字:确认,他的工作就是在执行execute方法前先确认输入信息是否正确(比较basic的第一种方法)


所以我们首先在RegisterAction.java中override一个validate方法。

并且加入验证,代码:

public void validate() {
		if (personBean.getFirstName().length() == 0) {
			addFieldError("personBean.firstName", "First name is required.");
		}
		if (personBean.getEmail().length() == 0) {
			addFieldError("personBean.email", "Email is required.");
		}
		if (personBean.getAge() < 18) {
			addFieldError("personBean.age",
					"Age is required and must be 18 or older");
		}
	}

这样就对用户输入信息进行验证了

PS:addFieldError此方法是对用户输入错误的信息进行提示。


但是仅仅进行验证是不够的,验证如果不通过的话,struts2将自动返回一个“input”给controller,我们必须要配置下返回值”input“

struts.xml:

<action name="register" class="org.apache.struts.register.action.RegisterAction" method="execute">
  	<result name="success">/Thankyou.jsp</result>
  	<result name="input">/Register.jsp</result>
  </action>

就是说如果validate验证不通过系统返回input值后,我们将让他返回到Register.jsp这个注册页面。

并且带上我们之前addFieldError方法设置的错误信息。

注意:更好的方法是在html标签的 head那加上 <s:head />这样可以使错误的信息产生红色字体。


第一种方法完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值