java validator 框架_strut结合validator框架的简单示例(适合初学者)

/p>

"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"

"">

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">

function validateRequired(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oRequired = new required();

for (x in oRequired) {

var field = form[oRequired[x][0]];

if (field.type == 'text' ||

field.type == 'textarea' ||

field.type == 'file' ||

field.type == 'select-one' ||

field.type == 'radio' ||

field.type == 'password') {

var value = '';

// get field's value

if (field.type == "select-one") {

var si = field.selectedIndex;

if (si >= 0) {

value = field.options[si].value;

}

} else {

value = field.value;

}

if (trim(value).length == 0) {

if (i == 0) {

focusField = field;

}

fields[i++] = oRequired[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}

// Trim whitespace from left and right sides of s.

function trim(s) {

return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );

}

]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateRequiredIf"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

org.apache.commons.validator.Validator,

javax.servlet.http.HttpServletRequest"

msg="errors.required">

classname="org.apache.struts.validator.FieldChecks"

method="validateMinLength"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.minlength">

function validateMinLength(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oMinLength = new minlength();

for (x in oMinLength) {

var field = form[oMinLength[x][0]];

if (field.type == 'text' ||

field.type == 'textarea') {

var iMin = parseInt(oMinLength[x][2]("minlength"));

if ((trim(field.value).length > 0) && (field.value.length < iMin)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oMinLength[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateMaxLength"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.maxlength">

function validateMaxLength(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oMaxLength = new maxlength();

for (x in oMaxLength) {

var field = form[oMaxLength[x][0]];

if (field.type == 'text' ||

field.type == 'textarea') {

var iMax = parseInt(oMaxLength[x][2]("maxlength"));

if (field.value.length > iMax) {

if (i == 0) {

focusField = field;

}

fields[i++] = oMaxLength[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateMask"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.invalid">

function validateMask(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oMasked = new mask();

for (x in oMasked) {

var field = form[oMasked[x][0]];

if ((field.type == 'text' ||

field.type == 'textarea') &&

(field.value.length > 0)) {

if (!matchPattern(field.value, oMasked[x][2]("mask"))) {

if (i == 0) {

focusField = field;

}

fields[i++] = oMasked[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}

function matchPattern(value, mask) {

return mask.exec(value);

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateByte"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.byte"

jsFunctionName="ByteValidations">

function validateByte(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oByte = new ByteValidations();

for (x in oByte) {

var field = form[oByte[x][0]];

if (field.type == 'text' ||

field.type == 'textarea' ||

field.type == 'select-one' ||

field.type == 'radio') {

var value = '';

// get field's value

if (field.type == "select-one") {

var si = field.selectedIndex;

if (si >= 0) {

value = field.options[si].value;

}

} else {

value = field.value;

}

if (value.length > 0) {

if (!isAllDigits(value)) {

bValid = false;

if (i == 0) {

focusField = field;

}

fields[i++] = oByte[x][1];

} else {

var iValue = parseInt(value);

if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oByte[x][1];

bValid = false;

}

}

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateShort"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.short"

jsFunctionName="ShortValidations">

function validateShort(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oShort = new ShortValidations();

for (x in oShort) {

var field = form[oShort[x][0]];

if (field.type == 'text' ||

field.type == 'textarea' ||

field.type == 'select-one' ||

field.type == 'radio') {

var value = '';

// get field's value

if (field.type == "select-one") {

var si = field.selectedIndex;

if (si >= 0) {

value = field.options[si].value;

}

} else {

value = field.value;

}

if (value.length > 0) {

if (!isAllDigits(value)) {

bValid = false;

if (i == 0) {

focusField = field;

}

fields[i++] = oShort[x][1];

} else {

var iValue = parseInt(value);

if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oShort[x][1];

bValid = false;

}

}

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateInteger"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.integer"

jsFunctionName="IntegerValidations">

function validateInteger(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oInteger = new IntegerValidations();

for (x in oInteger) {

var field = form[oInteger[x][0]];

if (field.type == 'text' ||

field.type == 'textarea' ||

field.type == 'select-one' ||

field.type == 'radio') {

var value = '';

// get field's value

if (field.type == "select-one") {

var si = field.selectedIndex;

if (si >= 0) {

value = field.options[si].value;

}

} else {

value = field.value;

}

if (value.length > 0) {

if (!isAllDigits(value)) {

bValid = false;

if (i == 0) {

focusField = field;

}

fields[i++] = oInteger[x][1];

} else {

var iValue = parseInt(value);

if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oInteger[x][1];

bValid = false;

}

}

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}

function isAllDigits(argvalue) {

argvalue = argvalue.toString();

var validChars = "0123456789";

var startFrom = 0;

if (argvalue.substring(0, 2) == "0x") {

validChars = "0123456789abcdefABCDEF";

startFrom = 2;

} else if (argvalue.charAt(0) == "0") {

validChars = "01234567";

startFrom = 1;

} else if (argvalue.charAt(0) == "-") {

startFrom = 1;

}

for (var n = startFrom; n < argvalue.length; n++) {

if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;

}

return true;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateLong"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.long"/>

classname="org.apache.struts.validator.FieldChecks"

method="validateFloat"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.float"

jsFunctionName="FloatValidations">

function validateFloat(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oFloat = new FloatValidations();

for (x in oFloat) {

var field = form[oFloat[x][0]];

if (field.type == 'text' ||

field.type == 'textarea' ||

field.type == 'select-one' ||

field.type == 'radio') {

var value = '';

// get field's value

if (field.type == "select-one") {

var si = field.selectedIndex;

if (si >= 0) {

value = field.options[si].value;

}

} else {

value = field.value;

}

if (value.length > 0) {

// remove '.' before checking digits

var tempArray = value.split('.');

var joinedString= tempArray.join('');

if (!isAllDigits(joinedString)) {

bValid = false;

if (i == 0) {

focusField = field;

}

fields[i++] = oFloat[x][1];

} else {

var iValue = parseFloat(value);

if (isNaN(iValue)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oFloat[x][1];

bValid = false;

}

}

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateDouble"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.double"/>

classname="org.apache.struts.validator.FieldChecks"

method="validateDate"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.date"

jsFunctionName="DateValidations">

function validateDate(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oDate = new DateValidations();

for (x in oDate) {

var value = form[oDate[x][0]].value;

var datePattern = oDate[x][2]("datePatternStrict");

if ((form[oDate[x][0]].type == 'text' ||

form[oDate[x][0]].type == 'textarea') &&

(value.length > 0) &&

(datePattern.length > 0)) {

var MONTH = "MM";

var DAY = "dd";

var YEAR = "yyyy";

var orderMonth = datePattern.indexOf(MONTH);

var orderDay = datePattern.indexOf(DAY);

var orderYear = datePattern.indexOf(YEAR);

if ((orderDay < orderYear && orderDay > orderMonth)) {

var iDelim1 = orderMonth + MONTH.length;

var iDelim2 = orderDay + DAY.length;

var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);

var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);

if (iDelim1 == orderDay && iDelim2 == orderYear) {

dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");

} else if (iDelim1 == orderDay) {

dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");

} else if (iDelim2 == orderYear) {

dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");

} else {

dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");

}

var matched = dateRegexp.exec(value);

if(matched != null) {

if (!isValidDate(matched[2], matched[1], matched[3])) {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else if ((orderMonth < orderYear && orderMonth > orderDay)) {

var iDelim1 = orderDay + DAY.length;

var iDelim2 = orderMonth + MONTH.length;

var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);

var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);

if (iDelim1 == orderMonth && iDelim2 == orderYear) {

dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");

} else if (iDelim1 == orderMonth) {

dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");

} else if (iDelim2 == orderYear) {

dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");

} else {

dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");

}

var matched = dateRegexp.exec(value);

if(matched != null) {

if (!isValidDate(matched[1], matched[2], matched[3])) {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else if ((orderMonth > orderYear && orderMonth < orderDay)) {

var iDelim1 = orderYear + YEAR.length;

var iDelim2 = orderMonth + MONTH.length;

var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);

var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);

if (iDelim1 == orderMonth && iDelim2 == orderDay) {

dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");

} else if (iDelim1 == orderMonth) {

dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$");

} else if (iDelim2 == orderDay) {

dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$");

} else {

dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$");

}

var matched = dateRegexp.exec(value);

if(matched != null) {

if (!isValidDate(matched[3], matched[2], matched[1])) {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

} else {

if (i == 0) {

focusField = form[oDate[x][0]];

}

fields[i++] = oDate[x][1];

bValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}

function isValidDate(day, month, year) {

if (month < 1 || month > 12) {

return false;

}

if (day < 1 || day > 31) {

return false;

}

if ((month == 4 || month == 6 || month == 9 || month == 11) &&

(day == 31)) {

return false;

}

if (month == 2) {

var leap = (year % 4 == 0 &&

(year % 100 != 0 || year % 400 == 0));

if (day>29 || (day == 29 && !leap)) {

return false;

}

}

return true;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateIntRange"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends="integer"

msg="errors.range">

function validateRange(form) {

return validateIntRange(form);

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateIntRange"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends="integer"

msg="errors.range">

function validateIntRange(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oRange = new intRange();

for (x in oRange) {

var field = form[oRange[x][0]];

if ((field.type == 'text' ||

field.type == 'textarea') &&

(field.value.length > 0)) {

var iMin = parseInt(oRange[x][2]("min"));

var iMax = parseInt(oRange[x][2]("max"));

var iValue = parseInt(field.value);

if (!(iValue >= iMin && iValue <= iMax)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oRange[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateFloatRange"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends="float"

msg="errors.range">

function validateFloatRange(form) {

var isValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oRange = new floatRange();

for (x in oRange) {

var field = form[oRange[x][0]];

if ((field.type == 'text' ||

field.type == 'textarea') &&

(field.value.length > 0)) {

var fMin = parseFloat(oRange[x][2]("min"));

var fMax = parseFloat(oRange[x][2]("max"));

var fValue = parseFloat(field.value);

if (!(fValue >= fMin && fValue <= fMax)) {

if (i == 0) {

focusField = field;

}

fields[i++] = oRange[x][1];

isValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return isValid;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateCreditCard"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.creditcard">

function validateCreditCard(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oCreditCard = new creditCard();

for (x in oCreditCard) {

if ((form[oCreditCard[x][0]].type == 'text' ||

form[oCreditCard[x][0]].type == 'textarea') &&

(form[oCreditCard[x][0]].value.length > 0)) {

if (!luhnCheck(form[oCreditCard[x][0]].value)) {

if (i == 0) {

focusField = form[oCreditCard[x][0]];

}

fields[i++] = oCreditCard[x][1];

bValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}

/**

* Reference: ~sburke/pub/luhn_lib.pl

*/

function luhnCheck(cardNumber) {

if (isLuhnNum(cardNumber)) {

var no_digit = cardNumber.length;

var oddoeven = no_digit & 1;

var sum = 0;

for (var count = 0; count < no_digit; count++) {

var digit = parseInt(cardNumber.charAt(count));

if (!((count & 1) ^ oddoeven)) {

digit *= 2;

if (digit > 9) digit -= 9;

};

sum += digit;

};

if (sum == 0) return false;

if (sum % 10 == 0) return true;

};

return false;

}

function isLuhnNum(argvalue) {

argvalue = argvalue.toString();

if (argvalue.length == 0) {

return false;

}

for (var n = 0; n < argvalue.length; n++) {

if ((argvalue.substring(n, n+1) < "0") ||

(argvalue.substring(n,n+1) > "9")) {

return false;

}

}

return true;

}]]>

classname="org.apache.struts.validator.FieldChecks"

method="validateEmail"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionErrors,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.email">

function validateEmail(form) {

var bValid = true;

var focusField = null;

var i = 0;

var fields = new Array();

oEmail = new email();

for (x in oEmail) {

if ((form[oEmail[x][0]].type == 'text' ||

form[oEmail[x][0]].type == 'textarea') &&

(form[oEmail[x][0]].value.length > 0)) {

if (!checkEmail(form[oEmail[x][0]].value)) {

if (i == 0) {

focusField = form[oEmail[x][0]];

}

fields[i++] = oEmail[x][1];

bValid = false;

}

}

}

if (fields.length > 0) {

focusField.focus();

alert(fields.join('\n'));

}

return bValid;

}

/**

* Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),

*

*/

function checkEmail(emailStr) {

if (emailStr.length == 0) {

return true;

}

var emailPat=/^(.+)@(.+)$/;

var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";

var validChars="\[^\\s" + specialChars + "\]";

var quotedUser="(\"[^\"]*\")";

var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;

var atom=validChars + '+

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值