在Struts的vilidator框架中Javascript校验问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:28:53
对应的js代码在validator-rules.xml中定义:
<validator name="required"
classname="org.apache.struts.validator.FieldChecks"
method="validateRequired"
methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field, org.apache.struts.action.ActionErrors, javax.servlet.http.HttpServletRequest"
msg="errors.required">

<javascript><![CDATA[
function validateRequired(form) {
var isValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
oRequired = new required();
for

Required 可以认为是一个js的"类",它是struts内置的.
oRequired是这个类的一个对象.

for (x in oRequired) 是遍历这个对象里所有的成员,从程序来看,每个成员应该是一个数组,而这个数组的第一个元素对应表单上的一个域的name, 即oRequired[x][0]为一个域的name.

然后form应该是传入的表单对象,form[name]就得到form中具体的域.

然后if语句里面就是判断这个域的type,是一个'text'或者是一个'textarea'...等等.