Struts的Validator问题,比较复杂求达人解答!

zhunianbihe 2008-03-28 06:43:04
我的程序里面用到了动态验证表单DynaValidatorActionForm
在struts-config.xml的配置如下:
code=XML]<form-bean name="customerForm"
type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="customer" type="org.test.struts.entity.Customer"/>
<form-property name="operate" type="java.lang.String"/>
</form-bean>
[/code]

其中org.test.struts.entity.Customer这个类里有属性name,address,email

在validation.xml的配置如下

<formset>
<form name="customerForm">
<field property="customer.name" depends="required">
<arg key="page.customer.index.name.label" position="0"/>
</field>
</form>
</formset>


之所以在field元素的property属性用"customer.name"
是因为我在JSP页面里面用的是
<td>
<label>
<bean:message key="page.customer.index.name.label"/>
</label>
<html:text property="customer.name" size="8" maxlength="4"/>
</td>

运行程序,为customer赋值都没有任何问题,数据也可以正常入数据库,证明上面用的customer.name没有任何问题。

但是如果我在文本框内不输入任何数据,提交后还是保存到了数据库,那个required校验器没有器到任何作用。

请问象在这种时候(用的customer.name,一个javabean做传输属性名)要如何才可以让required校验器起到作用。


另:我自己修改了一下,改成name也不行,改成customer也不行。到底在validation.xml要如何做?


谢谢!!!!!!!!!!!!!!
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhunianbihe 2008-04-05
  • 打赏
  • 举报
回复
就是四楼的原因了!谢谢!
limon758 2008-04-01
  • 打赏
  • 举报
回复
ignoreEmptyValue 表明validator是否忽略空值不进行判断
zhunianbihe 2008-03-31
  • 打赏
  • 举报
回复
2楼的,我在配置文件里validate=true也没有用。

1楼的:你要的代码

<html:form action="customer" focus="customer.name">
<table border="1">
<tr>
<td>
<label>
<bean:message key="page.customer.index.name.label"/>
</label>
<html:text property="customer.name" size="8" maxlength="4"/>
</td>
baobeituping 2008-03-31
  • 打赏
  • 举报
回复
原因:
type="org.apache.struts.validator.DynaValidatorActionForm
改成type="org.apache.struts.validator.DynaValidatorForm

因为你在你的validate.xml中配置的是
<form name="customerForm">
<field property="customer.name" depends="required">
<arg key="page.customer.index.name.label" position="0"/>
</field>
</form>

<form name="customerForm">name中是你的form的名字
所以要用DynaValidatorForm
gongyali2005 2008-03-30
  • 打赏
  • 举报
回复
在配制文件里.VALIDATE=TRUE

能不能把你的 <html:form>也贴出来
可能你的这个写的有问题
<html:form action="你的action" onsubmit="return validateCustomerForm(this)">
..
...

</body>
<html:javascript formName="customerForm">
muyan2022 2008-03-29
  • 打赏
  • 举报
回复
能不能把你的<html:form>也贴出来
可能你的这个写的有问题
<html:form action="你的action" onsubmit="return validationcustomerForm">
..
...

</body>
<html:javascript formName="customerForm">

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧