今天做一个表单提交,在提交的时候对三个属性做了校验,但是仅仅对第一个有效,其他的不符合但是仍然可以提交成功。
叫好心师兄帮我看了下,发现是由于我的代码对于要校验的属性都只有id属性,而没有name属性,而表单提交的时候,一般通过name属性取值的。于是在代码添加了name属性,果然能够实现我想要的三者全都符合才能提交的效果。、
<td align="left">
<span><input type="text" class="w150 required" name="resourceCode" id="resourceCode" /><font color='red'>*</font></span>
</td>
<td align="right">权限名称:</td>
<td align="left">
<span><input type="text" class="w150 required" name="resourceName" id="resourceName" /><font color='red'>*</font></span>
</td>
</tr>
<tr>
<td align="right">权限ID:</td>
<td align="left">
<span><input type="text" class="w150 required" name="resourceId" id="resourceId" /><font color='red'>*</font></span>
</td>
function addResource(){
if($("#resourceListForm").valid(myOpts)==true){
var resourceCode = $("#resourceCode").val();
var resourceId = $("#resourceId").val();
var resourceName = $("#resourceName").val();
var resourceType = $("#resourceType").val();
var parentResourceId = $("#parentResource").val();
var ajax=new Ajax();
var callback=function(response){
if(response==null) {
alert("您没有权限!");
} else if(response.status=="success"){
var flag = response.data;
if( flag== "0") {
alert('新增操作成功!');
$("#selectform").submit();
}
else alert('系统内部错误,新增失败!\n');
}
};
ajax.submit(
"${requestContext.contextPath}/addResource.htm",//url
"POST",//method
{"resourceId":resourceId,"resourceCode":resourceCode,"resourceName":resourceName,"resourceType":resourceType,"parentResourceId":parentResourceId},//参数
false,
callback,
true
);
}
}
var myOpts={
rules: {
resourceCode:{
required: true,
maxlength: 20
},
resourceId:{
required: true,
maxlength: 20
},
resourceName:{
required: true,
maxlength: 20
},
},
messages:{
resourceCode:{
required:"必填",
maxlength:"字段长度不能大于20"
},
resourceId:{
required:"必填",
maxlength:"字段长度不能大于20"
},
resourceName:{
required:"必填",
maxlength:"字段长度不能大于20"
},
},
debug:true
}
需要引进validate.js文件