今天用struts 的表单做js验证,怎么写都出现错误
<html:form action="/**.do" method="post" οnsubmit="return check();">
不用指定name属性
<html:form action="/**.do" method="post" οnsubmit="return check();" name=“**” type=“**”>
这里name和formbean(xml文件中配置的)是一样的,如果指定其它的name值会报错,况且指定name值好像还要指定type值。
然后js页面代码:
不要用
<SCRIPT LANGUAGE="JAVASCRIPT">再把方法包起来,这样会不起做用
直接写方法:
check.js
function check() {
if (document.houseForm.username.value =="") {
alert("请填写您的username!");
return false;
}
if (document.forms[0].tel.value =="") {
alert("请填写您的tel!");
return false;
}
return true;
}
其中houseForm是xml中的formbean名称,forms[0] 是指页面中的第一个表单相当于数组一样
其实是对struts标签机制不了解。
现在有些明白了Validator的用处,如果用js验证懂些程序的会绕过js验证直接用post提交一些非法参数
如果用Validator就能阻止,因为Validator是服务器端的验证。
<html:form action="/**.do" method="post" οnsubmit="return check();">
不用指定name属性
<html:form action="/**.do" method="post" οnsubmit="return check();" name=“**” type=“**”>
这里name和formbean(xml文件中配置的)是一样的,如果指定其它的name值会报错,况且指定name值好像还要指定type值。
然后js页面代码:
不要用
<SCRIPT LANGUAGE="JAVASCRIPT">再把方法包起来,这样会不起做用
直接写方法:
check.js
function check() {
if (document.houseForm.username.value =="") {
alert("请填写您的username!");
return false;
}
if (document.forms[0].tel.value =="") {
alert("请填写您的tel!");
return false;
}
return true;
}
其中houseForm是xml中的formbean名称,forms[0] 是指页面中的第一个表单相当于数组一样
其实是对struts标签机制不了解。
现在有些明白了Validator的用处,如果用js验证懂些程序的会绕过js验证直接用post提交一些非法参数
如果用Validator就能阻止,因为Validator是服务器端的验证。