当前位置:文档之家› jquery validate 校验框架使用开发指南

jquery validate 校验框架使用开发指南

jquery validate 校验框架使用开发指南
jquery validate 校验框架使用开发指南

一JQuery.validation 验证框架使用细解

一、用前必备

官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/

API: http://jquery.bassistance.de/api-browser/plugins.html

当前版本:1.5.5

需要JQuery版本:1.2.6+, 兼容 1.3.2

二、默认校验规则

(1)required:true 必输字段

(2)remote:"check.php" 使用ajax方法调用check.php验证输入值

(3)email:true 必须输入正确格式的电子邮件

(4)url:true 必须输入正确格式的网址

(5)date:true 必须输入正确格式的日期

(6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22

只验证格式,不验证有效性

(7)number:true 必须输入合法的数字(负数,小数)

(8)digits:true 必须输入整数

(9)creditcard: 必须输入合法的信用卡号

(10)equalTo:"#field" 输入值必须和#field相同

(11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀)

(12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符)

(13)minlength:10 输入长度最小是10的字符串(汉字算一个字符)

(14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)

(15)range:[5,10] 输入值必须介于 5 和 10 之间

(16)max:5 输入值不能大于5

(17)min:10 输入值不能小于10

三、默认的提示

messages: {

required: "This field is required.",

remote: "Please fix this field.",

email: "Please enter a valid email address.",

url: "Please enter a valid URL.",

date: "Please enter a valid date.",

dateISO: "Please enter a valid date (ISO).",

dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",

number: "Please enter a valid number.",

numberDE: "Bitte geben Sie eine Nummer ein.",

digits: "Please enter only digits",

creditcard: "Please enter a valid credit card number.",

equalTo: "Please enter the same value again.",

accept: "Please enter a value with a valid extension.",

maxlength: $.validator.format("Please enter no more than {0} characters."),

minlength: $.validator.format("Please enter at least {0} characters."),

rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), range: $.validator.format("Please enter a value between {0} and {1}."),

max: $.validator.format("Please enter a value less than or equal to {0}."),

min: $.validator.format("Please enter a value greater than or equal to {0}.")

},

如需要修改,可在js代码中加入:

jQuery.extend(jQuery.validator.messages, {

required: "必选字段",

remote: "请修正该字段",

email: "请输入正确格式的电子邮件",

url: "请输入合法的网址",

date: "请输入合法的日期",

dateISO: "请输入合法的日期 (ISO).",

number: "请输入合法的数字",

digits: "只能输入整数",

creditcard: "请输入合法的信用卡号",

equalTo: "请再次输入相同的值",

accept: "请输入拥有合法后缀名的字符串",

maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"),

minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"),

rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),

range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),

max: jQuery.validator.format("请输入一个最大为 {0} 的值"),

min: jQuery.validator.format("请输入一个最小为 {0} 的值")

});

推荐做法,将此文件放入messages_cn.js中,在页面中引入

四、使用方式

1.将校验规则写到控件中

$().ready(function() {

$("#signupForm").validate();

});

class="{required:true,minlength:5,equalTo:'#password'}" />

使用class="{}"的方式,必须引入包:jquery.metadata.js

可以使用如下的方法,修改提示内容:

class="{required:true,minlength:5,messages:{required:'请输入内容'}}"

在使用equalTo关键字时,后面的内容必须加上引号,如下代码:

class="{required:true,minlength:5,equalTo:'#password'}"

另外一个方式,使用关键字:meta(为了元数据使用其他插件你要包装你的验证规则在他们自己的项目中可以用这个特殊的选项)

Tell the validation plugin to look inside a validate-property in metadata for validation rules.

例如:

meta: "validate"

再有一种方式:

$.metadata.setType("attr", "validate");

这样可以使用validate="{required:true}"的方式,或者class="required",但

class="{required:true,minlength:5}"将不起作用

2.将校验规则写到代码中

$().ready(function() {

$("#signupForm").validate({

rules: {

firstname: "required",

email: {

required: true,

email: true

},

password: {

required: true,

minlength: 5

},

confirm_password: {

required: true,

minlength: 5,

equalTo: "#password"

}

},

messages: {

firstname: "请输入姓名",

email: {

required: "请输入Email地址",

email: "请输入正确的email地址"

},

password: {

required: "请输入密码",

minlength: jQuery.format("密码不能小于{0}个字符")

},

confirm_password: {

required: "请输入确认密码",

minlength: "确认密码不能小于5个字符",

equalTo: "两次输入密码不一致不一致"

}

}

});

});

//messages处,如果某个控件没有message,将调用默认的信息

required:true 必须有值

required:"#aa:checked"表达式的值为真,则需要验证

required:function(){}返回为真,表时需要验证

后边两种常用于,表单中需要同时填或不填的元素

五、常用方法及注意问题

1.用其他方式替代默认的SUBMIT

$().ready(function() {

$("#signupForm").validate({

submitHandler:function(form){

alert("submitted");

form.submit();

}

});

});

可以设置validate的默认值,写法如下:

$.validator.setDefaults({

submitHandler: function(form) { alert("submitted!");form.submit(); }

});

如果想提交表单, 需要使用form.submit()而不要使用$(form).submit()

2.debug,如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便

$().ready(function() {

$("#signupForm").validate({

debug:true

});

});

如果一个页面中有多个表单,用

$.validator.setDefaults({

debug: true

})

3.ignore:忽略某些元素不验证

ignore: ".ignore"

4.errorPlacement:Callback Default: 把错误信息放在验证的元素后面

指明错误放置的位置,默认情况是:error.appendTo(element.parent());即把错误信息放在验证的元素后面errorPlacement: function(error, element) {

error.appendTo(element.parent());

}

//示例:

 

errorPlacement: function(error, element) {

if ( element.is(":radio") )

error.appendTo( element.parent().next().next() );

else if ( element.is(":checkbox") )

error.appendTo ( element.next() );

else

error.appendTo( element.parent().next() );

}

代码的作用是:一般情况下把错误信息显示在中,如果是radio显示在中,如果是checkbox显示在内容的后面

errorClass:String Default: "error"

指定错误提示的css类名,可以自定义错误提示的样式

errorElement:String Default: "label"

用什么标签标记错误,默认的是label你可以改成em

errorContainer:Selector

显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏,用处不大errorContainer: "#messageBox1, #messageBox2"

errorLabelContainer:Selector

把错误信息统一放在一个容器里面。

wrapper:String

用什么标签再把上边的errorELement包起来

一般这三个属性同时使用,实现在一个容器内显示所有错误提示的功能,并且没有信息时自动隐藏errorContainer: "div.error",

errorLabelContainer: $("#signupForm div.error"),

wrapper: "li"

设置错误提示的样式,可以增加图标显示

input.error { border: 1px solid red; }

label.error {

background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;

padding-left: 16px;

padding-bottom: 2px;

font-weight: bold;

color: #EA5200;

}

label.checked {

background:url("./demo/images/checked.gif") no-repeat 0px 0px;

}

success:String,Callback

要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数

success: function(label) {

// set   as text for IE

label.html(" ").addClass("checked");

//label.addClass("valid").text("Ok!")

}

添加"valid" 到验证元素, 在CSS中定义的样式

success: "valid"

nsubmit: Boolean Default: true

提交时验证. 设置唯false就用其他方法去验证

onfocusout:Boolean Default: true

失去焦点是验证(不包括checkboxes/radio buttons)

onkeyup:Boolean Default: true

在keyup时验证.

onclick:Boolean Default: true

在checkboxes 和 radio 点击时验证

focusInvalid:Boolean Default: true

提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点focusCleanup:Boolean Default: false

如果是true那么当未通过验证的元素获得焦点时,移除错误提示。避免和 focusInvalid 一起用

// 重置表单

$().ready(function() {

var validator = $("#signupForm").validate({

submitHandler:function(form){

alert("submitted");

form.submit();

}

});

$("#reset").click(function() {

validator.resetForm();

});

});

remote:URL

使用ajax方式进行验证,默认会提交当前验证的值到远程地址,如果需要提交其他的值,可以使用data选项remote: "check-email.php"

remote: {

url: "check-email.php", //后台处理程序

type: "post", //数据发送方式

dataType: "json", //接受数据格式

data: { //要传递的数据

username: function() {

return $("#username").val();

}

}

}

远程地址只能输出 "true" 或 "false",不能有其它输出

addMethod:name, method, message

自定义验证方法

// 中文字两个字节

jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {

var length = value.length;

for(var i = 0; i < value.length; i++){

if(value.charCodeAt(i) > 127){

length++;

}

}

return this.optional(element) || ( length >= param[0] && length <= param[1] );

}, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));

// 邮政编码验证

jQuery.validator.addMethod("isZipCode", function(value, element) {

var tel = /^[0-9]{6}$/;

return this.optional(element) || (tel.test(value));

}, "请正确填写您的邮政编码");

radio和checkbox、select的验证

radio的required表示必须选中一个

checkbox的required表示必须选中

checkbox的minlength表示必须选中的最小个数,maxlength表示最大的选中个数,rangelength:[2,3]表示选中个数区间

class="{required:true, minlength:2}" />

select的required表示选中的value不能为空

select的minlength表示选中的最小个数(可多选的select),maxlength表示最大的选中个数,rangelength:[2,3]表示选中个数区间

二jQuery验证框架

https://www.doczj.com/doc/3615437486.html,/blog/556633

Html代码

Name

此文谨以以上js片段开始介绍jQuery Validation。

验证从这个方法开始:validate( [options] )

(一)、可选项( options )

[1] debug类型:Boolean 默认:false

说明:开启调试模式。如果为true,表单不会提交,而且会在控制台显示一些错误消息(需要Firebug 或者Firebug lite)。当要阻止表单默认提交事件,尝试去开启它。

$(".selector").validate({

debug: true

})

[2] submitHandler类型:Callback 默认:default (native) form submit

说明:当表单通过验证,提交表单。回调函数有个默认参数form

$(".selector").validate({

submitHandler: function(form) {

// do other stuff for a valid form

form.submit();

}

})

[3] invalidHandler类型:Callback

说明:当未通过验证的表单提交时,可以在该回调函数中处理一些事情。该回调函数有两个参数:第一个为一个事件对象,第二个为验证器(validator)

$(".selector").validate({

invalidHandler: function(form, validator) {

var errors = validator.numberOfInvalids();

if (errors) {

var message = errors == 1

? 'You missed 1 field. It has been highlighted'

: 'You missed ' + errors + ' fields. They have been highlighted' ;

$("div.error span").html(message);

$("div.error").show();

} else {

$("div.error").hide();

}

}

})

[4] ignore类型:Seletor

说明:当进行表单验证时,过滤掉选择器所选择的表单。用了jQuery not方法( not() )。类型为submit和reset的表单总是被忽略的。

$("#myform").validate({

ignore: ".ignore"

})

[5] rules类型:Options 默认:rules are read from markup (classes, attributes,

metadata)

说明:用户定义的键/值对规则。键为一个表单元素的name属性(或是一组单选/复选按钮)、值为一个简单的字符串或者由规则/参数对(rule/parameter)组成的一个对象。可以和 class/attribute/metadata 规则一起使用。每个规则可以指定一个依存的验证前提条件。

$(".selector").validate({

rules: {

// simple rule, converted to {required:true}

name: "required",

// compound rule

email: {

required: true,

email: true

}/*

email: {

depends: function(element) {

return $("#contactform_email:checked")

}

}*/

}

})

[6] messages类型:Options 默认:验证方法默认使用的消息

说明:用户自定义的键/值对消息。键为一个表单元素的name属性,值为该表单元素将要显示的消息。该消息覆盖元素的title属性或者默认消息。消息可以是一个字符串或者一个回调函数。回调函数必须在验证器的作用域中调用,将规则参数作为回调函数的第一个参数,将该表单元素作为回调函数的第二个参数,且必须返回一个字符串类型的消息。

$(".selector").validate({

rules: {

name: "required",

email: {

required: true,

email: true

}

},

messages: {

name: "Please specify your name",

email: {

required: "We need your email address to contact you",

email: "Your email address must be in the format of name@https://www.doczj.com/doc/3615437486.html,"

}

}

})

[7] groups类型:Options

说明:指定错误消息分组。一个组由一个任意的组名作为键,一个由空白符分割的表单元素name属性列表作为值。用errorPlacement定义组消息的存放位置。

Js代码

1.$("#myform").validate({

2.groups: {

https://www.doczj.com/doc/3615437486.html,ername: "fname lname"

4.},

5.errorPlacement: function(error, element) {

6.if (element.attr("name") == "fname"

7.|| element.attr("name") == "lname" )

8.error.insertAfter("#lastname");

9.else

10. error.insertAfter(element);

11. },

12. debug:true

13. })

[8] onsubmit类型:Boolean 默认:true

说明:提交时验证表单。当设置为false时,只能用其它的事件验证。

Js代码

1.$(".selector").validate({

2.onsubmit: false

3.})

[9] onfocusout类型:Boolean 默认:true

说明:焦点离开时验证(单选/复选按钮除外)。如果表单中没有输入任何内容,所有的规则将被跳过,除非该表单已经被标记为无效的。

Js代码

$(".selector").validate({

onfocusout: false

})

[10] onkeyup类型:Boolean 默认:true

说明:当键盘按键弹起时验证。只要表单元素没有被标记成无效的,不会有反应。另外,所有的规则将在每次按键弹起时验证。

$(".selector").validate({

onkeyup: false

})

[11] onclick类型:Boolean 默认:true

说明:鼠标点击验证针对单选和复选按钮。

$(".selector").validate({

onclick: false

})

[12] focusInvalid类型:Boolean 默认:true

说明:当验证无效时,焦点跳到第一个无效的表单元素。当为false时,验证无效时,没有焦点响应。

$(".selector").validate({

focusInvalid: false

})

[12] focusCleanup类型:Boolean 默认:false

说明:如果为true,当表单得到焦点时,移除在该表单上的errorClass并隐藏所有错误消息。避免与focusInvalid一起使用。

$(".selector").validate({

focusCleanup: true

})

[13] meta类型:String

说明:如果想使用其它插件来使用元数据验证规则,得指定相应的元数据对象。

$("#myform").validate({

meta: "validate"

})

[14] errorClass类型:String 默认:"error"

说明:用此设定的样式来定义错误消息的样式。

$(".selector").validate({

errorClass: "invalid"

})

[15] validClass类型:String 默认:"valid"

说明:设定当验证通过时,消息显示的样式。

$(".selector").validate({

validClass: "success"

})

[16] errorElement类型:String 默认:"label"

说明:用html元素类型创建错误消息的容器。默认的"label"有个优点就是能在错误消息与无效表单之间用for属性建立有意义的联系(一个常常使用的,而不管表单元素是什么的)。

$(".selector").validate({

errorElement: "em"

})

[17] wrapper类型:Boolean

说明:用一个指定的元素将错误消息包围。与errorLabelContainer一起创建一个错误消息列表非常有用。

$(".selector").validate({

wrapper: "li"

})

[18] errorLabelContainer类型:Selector

说明:错误消息标签的容器。

$("#myform").validate({

errorLabelContainer: "#messageBox",

wrapper: "li"

})

[19] errorContainer类型:Selector

说明:错误消息的容器。

$("#myform").validate({

errorContainer: "#messageBox1, #messageBox2",

errorLabelContainer: "#messageBox1 ul",

wrapper: "li", debug:true,

submitHandler: function() { alert("Submitted!") }

})

[20] showErrors类型:Callback 默认:None,内置的显示消息

说明:自定义消息显示的句柄。该回调函数有两个参数,第一个为errorMap,第二个参数为errorList,在validator对象的上下文中调用。参数只包含那些经过onblur/onkeyup验证的表单元素,也有可能是单个元素。除此之外,你还可以用this.defaultShowErrors()触发默认的行为。

$(".selector").validate({

showErrors: function(errorMap, errorList) {

$("#summary").html("Your form contains "

+ this.numberOfInvalids()

+ " errors, see detail s below.");

this.defaultShowErrors();

}

})

[21] errorPlacement类型:Callback 默认:紧跟在无效表单后的标签中

说明:用户自定义错误标签的显示位置。第一个参数:一个作为jQuery对象的错误标签,第二个参数为:一个作为jQuery对象的未通过验证的表单元素。

$("#myform").validate({

errorPlacement: function(error, element) {

error.appendTo( element.parent("td").next("td") );

},

debug:true

})

[22] success类型:String,Callback

说明:如果指定它,当验证通过时显示一个消息。如果是String类型的,则添加该样式到标签中,如果是一个回调函数,则将标签作为其唯一的参数。

$("#myform").validate({

//success: "valid",

success: function(label) {

label.addClass("valid").text("Ok!")

}

})

[23] highlight类型:Callback 默认:添加errorClass到表单元素

说明:将未通过验证的表单元素设置高亮。

$(".selector").validate({

highlight: function(element, errorClass) {

$(element).fadeOut(function() {

$(element).fadeIn()

})

}

})

[24] unhighlight类型:Callback 默认:移除errorClass

说明:与highlight操作相反

$(".selector").validate({

highlight: function(element, errorClass) {

$(element).addClass(errorClass);

$(element.form).find("label[for=" + element.id + "]")

.addClass(errorClass);

},

unhighlight: function(element, errorClass) {

$(element).removeClass(errorClass);

$(element.form).find("label[for=" + element.id + "]")

.removeClass(errorClass);

}

});

[25] ignoreTitle类型:Boolean 默认:false

说明:设置它用来跳过错误消息对title属性的引用,避免Google工具栏引起的冲突。

$(".selector").validate({

ignoreTitle: true

})

原文地址:https://www.doczj.com/doc/3615437486.html,/Plugins/Validation/validate#toptions

(二)插件方法(jQuery validation)

文章分类:Web前端

[1] validate( [options] ) 返回:Validator

说明:见第一部分[2] valid()返回:Boolean

说明:检查表单是否已通过验证。

$("#myform").validate();

$("a.check").click(function() {

alert("Valid: " + $("#myform").valid());

return false;

});

[3] rules() 返回:Options

说明:返回一个表单元素的验证规则。有几个方法定义验证规则:

?在表单元素的class属性中定义验证规则(推荐的方法)。

?通过指定验证方法的属性(推荐的方法)。

?可以通过元数据(metadata)插件来定义元数据验证规则。

?可以通过指定validate()方法的rules选项。

alert($("#password").rules()["required"]);

[4] rules( "add", rules ) 返回:Options

参数"add" 类型:String

参数 rules 类型:Options 要添加的规则,与validate方法中的验证规则一致。

说明:添加规则到匹配的表单元素,返回该元素的所有验证规则,需要先执行$("form").validate()。在rules中也可以添加用户自定义的消息对象。

$("#myinput").rules("add", {

required: true,

minlength: 2,

messages: {

required: "Required input",

minlength: jQuery.format("Please, at least {0} characters are necessary") }

});

[5] rules( "remove", [rules] ) 返回:Options

参数"remove" 类型:String

参数 rules (Options) 类型:Options 用空白符分割的验证规则。只操作通过rules

选项或rules("add")指定的验证规则。

说明:从第一个匹配的表单元素中移除指定的验证规则,并返回该元素所有的验证规则。

$("#myinput").rules("remove");

$("#myinput").rules("remove", "min max");

[6] removeAttrs( attributes ) 返回:Options

参数 attributes 类型:String 用空白符分割的属性列表

说明:从第一个匹配的表单元素中删除指定的属性并返回它们。

$("#skip").click(function() {

var rules = $("#myinput").removeAttrs("min max");

$("#myform).submit();

$("#myinput").attr(rules);

});

原文请见:https://www.doczj.com/doc/3615437486.html,/Plugins/Validation#Fields_with_complex_names_.28brackets.2C_dots.29 (三、四)选择器及实用工具(jQuery validation)

文章分类:Web前端

[1] :blank 返回:Array

说明:匹配所有空值的表单元素。没有任何值或都空白符(whitespace)都被认为是空值。

它是由 jQuery.trim(value).length == 0 来判断的。

$("input:blank").css("background-color", "#bbbbff");

[2] :filled 返回:Array

说明:匹配所有不为空的表单元素。任何值都可以认为是已输入的,但只有空白符的值除外。

它是由 jQuery.trim(value).length > 0 来判断的。

$("input:filled").css("background-color", "#bbbbff");

[3] :unchecked 返回:Array

说明:匹配所有未选择的表单元素。反向操作为 :checked

function countUnchecked() {

var n = $("input:unchecked").length;

$("div").text(n + (n == 1 ? " is" : " are") + " unchecked!");

}

countUnchecked();

$(":checkbox").click(countUnchecked);

四、实用工具(Utilities)

jQuery.validator.format( template, [argument], [argumentN...] ) 返回:String

参数 template 类型:String 要格式化的字符串

参数 argument (Optional) 类型:String, Array 用字符串或字符串数组(对应索引的元素)填充第一个占位符

参数 argumentN... (Optional) 类型:String 填充第二个或之后的占位符。

说明:用参数来填充{n}占位符。除template外的一个或多个参数都可以用来填充相应的占位符。

$(document).ready(function(){

$("button").click(function () {

var str = "Hello {0}, this is {1}";

alert("'" + str + "'");

str = jQuery.validator.format(str, "World", "Bob");

//str = $.validator.format(str, ["koala","oo"]);

alert("'" + str + "'");

});

});

原文请见:https://www.doczj.com/doc/3615437486.html,/Plugins/Validation

(五)验证器(jQuery validation)

validate方法返回的验证器对象( Validator Object) 有一些公用的方法。你可以用来触发验证程序或改变表单(form)的内容。验证器对象有更多的方法,不过只有文档中给出的这些方法是专为使用而

设计的。(一)验证器方法(Validator methods)

[1] form() 返回:Boolean

说明:验证表单是否通过验证,若通过验证则返回true,反之返回false。这个方法在正常的提交事件(submit event)触发,它返回一个结果。

$("#myform").validate().form();

[2] element( element ) 返回:Boolean

参数 element 类型:Selector 验证表单中的一个需要验证的表单元素。

说明:验证单个表单元素是否通过验证,若通过验证则返回true,反之返回false。这个方法在正常的焦点离开事件(blur)或按键弹起(keyup)时触发,它返回一个结果。

$("#myform").validate().element( "#myselect" );

[3] resetForm( ) 返回:undefined

说明:重置表单。

恢复表单元素到原来的值(需要form插件支持),移除无效验证的样式并隐藏错误消息。

(...貌似只有在IE下才可以移除样式)

var validator = $("#myform").validate();

validator.resetForm();

[4] showErrors( errors ) 返回:undefined

参数 errors 类型:Object 一个或多个表单元素的name属性和验证消息组成的键/值对。

说明:显示指定的验证消息。

在指定的errorPlacement中显示验证消息。键为待验证表单元素的name 属性,值为相应的验证消息。

var validator = $("#myform").validate();

validator.showErrors({"firstname": "I know that your firstname is Pete, Pete!"});

[5] numberOfInvalids( ) 返回:Integer

说明:返回未通过验证的表单元素的个数。

这个方法依赖于内部的验证器情况。只有在验证完所有表单元素时才统计所有待验证的表单元素(submit事件或通过$("form").valid())。当只验证单个表单元素,则只有统计该表单元素。与invalidHandler选项联合使用的时候非常有用。

var validator = $("#myform").validate({

invalidHandler: function() {

$("#summary").text(validator.numberOfInvalids() +"field(s) areinvalid");

}

});

(二)验证器函数(Validator functions)

[1] setDefaults( defaults ) 返回:undefined

参数 defaults 类型:Options 要设置成默认值的选项。

说明:修改验证框架的默认设置。

接受validate方法中的所有选项。

jQuery.validator.setDefaults({

debug: true

});

[2] addMethod( name, method, [message] ) 返回:undefined

参数 name 类型:String 要添加的方法名,用于标识和引用,必须是一个有效的javascript标识符。

参数 method 类型:Callback 方法的实现部分,返回true如果表单元素通过验证。

参数 message(Optional) 类型:String, Function 该方法的默认验证消息。可以用jQuery.validator.format(value)方法创建。如果未定义该参数,则使用本地已存在的验证消息,另外,必须为指定的表单元素定义验证消息。

说明:添加一个用户自定义的验证方法。它由方法名(必须是一个合法的javascript标识符)、基于javascript的函数及默认的验证消息组成。

jQuery.validator.addMethod("math", function(value, element, params) {

return this.optional(element) || value == params[0] + params[1];

}, jQuery.format("Please enter the correct value for {0} + {1}"));

[3] addClassRules( name, rules ) 返回:undefined

参数 name 类型:String 要添加的样式规则名。

参数 rules 类型:Options 规则选项。

说明:添加一个复合的样式验证方法。对于将多个联合使用的规则重构进单个样式中非常有用。

jQuery.validator.addClassRules("name", {

required: true,

minlength: 2

});

[4] addClassRules( rules ) 返回:undefined

参数 rules 类型:Options 样式类名-规则表。

说明:添加一个复合的样式验证方法。对于重构通用的联合规则非常有用。

jQuery.validator.addClassRules({

name: {

required: true,

minlength: 2

},

zip: {

required: true,

digits: true,

minlength: 5,

maxlength: 5

}

});

原文请见:https://www.doczj.com/doc/3615437486.html,/Plugins/Validation

(六)内置验证方法(jQuery validation)

[1] required( ) 返回:Boolean

说明:让表单元素必须填写(选择)。

如果表单元素为空(text input)或未选择(radio/checkbox)或选择了一个空值(select)。

作用于text inputs, selects, checkboxes and radio buttons.

当select提供了一个空值选项则强迫用户去选择一个不为空的值。

$("#myform").validate({

rules: {

fruit: "required"

}

});

[2] required( dependency-expression ) 返回:Boolean

参数 dependency-expression 类型:String 在form上下文中的一个表达式

( String ),表单元素是否需要填写依赖于该表达式返回一个或多个元素。

说明:让表单元素必须填写(选择),依赖于参数的返回值。

表达式中像#foo:checked, #foo:filled, #foo:visible这样的选择过滤器将经常用到。

$("#myform").validate({

rules: {

details: {

required: "#other:checked"

}

}, debug:true

});

$("#other").click(function() {

$("#details").valid();

});

[3] required( dependency-callback ) 返回:Boolean

参数 dependency-callback 类型:Callback 该回函数以待验证表单元素作为其唯一的参数。当该回调函数返回true,则该表单元素是必须的。

说明:让表单元素必须填写(选择),依赖于参数的返回值。

表达式中像#foo:checked, #foo:filled, #foo:visible这样的选择过滤器将经常用到。

$("#myform").validate({

rules: {

age: {

required: true,

min: 3

},

parent: {

required: function(element) {

return $("#age").val() < 13;

}

}

}

});

$("#age").blur(function() {

$("#parent").valid();

});

[4] remote( options ) 返回:Boolean

参数 options 类型:String, Options 请求服务器端资源的url(String)。或$.ajax()方法中的选项(Options)。

说明:请求服务器端资源验证。

服务器端的资源通过$.ajax (XMLHttpRequest)获取key/value对,响应返回true则表单通过验证。

$("#myform").validate({

rules: {

email: {

required: true,

email: true,

remote: "check-email.php"

}

}

});

[5] minlength( length ) 返回:Boolean

参数 length 类型:Integer 至少需要多少个字符数。

说明:确保表单元素满足给定的最小字符数。

在文本框(text input)中输入的字符太少、没有选中足够的复选框(checkbox)、一个选择框(select)中没有选中足够的选项。这以上三种情况中该方法返回false。

$("#myform").validate({

rules: {

field: {

required: true,

minlength: 3

}

}

});

[6] maxlength( length ) 返回:Boolean

参数 length 类型:Integer 允许输入的最大字符数。

说明:确保表单元素的文本不超过给定的最大字符数。

在文本框(text input)中输入的字符太多、选择太多的复选框(checkbox)、一个选择框(select)中没有选中太多的选项。这以上三种情况中该方法返回false。

$("#myform").validate({

rules: {

field: {

required: true,

maxlength: 4

}

}

});

[7] rangelength( range ) 返回:Boolean

参数 range 类型:Array 允许输入的字符数范围。

说明:确保表单元素的文本字符数在给定的范围当中。

在文本框(text input)中输入的字符数不在给定范围内、选择的复选框(checkbox)不在给在的范围内、一个选择框(select)选中的选项不在给定的范围内。这以上三种情况中该方法返回false。

$("#myform").validate({

三大框架练习题

评卷浏览 考生姓名张彬答题开始时间2013-04-24 10:15 结束时间2013-05-02 10:15 考生得分0 满分161 及格分60 一、单项选择题(共41题,41分) 1. Customer对象在程序执行到第几行时变为脱管状态? Customer customer=new Customer(); //line1 customer.setName("张三"); Session session=sessionFactory.openSession(); //line2 Transaction tx = session1.beginTransaction(); session.save(customer); //line3 https://www.doczj.com/doc/3615437486.html,mit(); //line4 session.close(); //line5 (1 分) A) line1 B) line2 C) line4 D) line5 —标准答案:D —考生答案:D —考生得分:1 评语: 2. 在struts2应用开发中下列描述正确的是(1 分) A) 为每一个Action在XML中配置一个action,并且这个XML配置文件必须命名为struts.xml,并放置在类的根路径下。 B) 为每一个可能接收的逻辑请求编写一个Action类,该类必须继承父类ActionSupport 。 C) 在web程序的部署描述文件(web.xml)中配置struts2核心控制器,该核心控制器是一个过滤器。 D) Struts2的Action必须实现Action接口。 —标准答案:C —考生答案: —考生得分:0 评语:

struts2验证框架

Struts2Validator Struts2验证框架 Updated Jun 18, 2010 by cm2...@https://www.doczj.com/doc/3615437486.html, Action配置中一定要设置input返回页面 添加验证只要创建验证的xml文件 1.创建xml文件名 验证Action中全部方法 在Action同包下,创建:Action类名-validation.xml 如:ValidateAction创建ValidateAction-validation.xml 验证Action中单个方法 注意事项 注意: 1.要验证的方法不能叫input. 2.这样配置在form表单中要在中action写好名称, 不能写action="validate_",然后 这样会找不到对应的配置文件,跳过验证. 3.如果验证出错,返回input页面时,那些存在ValueStack中的值会丢失,可以将Action实现Preparable接口, 然后prepare()方法里初始化添加页面需要的值. 4.如果使用Preparable接口,必须在action配置中添加

jquery validate 校验框架使用开发指南

一JQuery.validation 验证框架使用细解 一、用前必备 官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassistance.de/api-browser/plugins.html 当前版本:1.5.5 需要JQuery版本:1.2.6+, 兼容 1.3.2 二、默认校验规则 (1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性 (7)number:true 必须输入合法的数字(负数,小数) (8)digits:true 必须输入整数 (9)creditcard: 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (15)range:[5,10] 输入值必须介于 5 和 10 之间 (16)max:5 输入值不能大于5 (17)min:10 输入值不能小于10 三、默认的提示 messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.", number: "Please enter a valid number.", numberDE: "Bitte geben Sie eine Nummer ein.", digits: "Please enter only digits", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: $.validator.format("Please enter no more than {0} characters."),

Validator验证框架的内置标准验证

JBoss4.2及JBoss5.0部署jax-ws2.0/2.1WebServices 一,部署jax-ws 2.0/2.1 POJO Web Service到JBoss4.2.2.GA 1:必须为你的POJO Web Service定义一个Servlet,并定义service的endpoint。 这意味着必须修改/增加两个文件:WEB-INF/web.xml;WEB-INF/sun-jaxws.xml (附文后) 2:最好将所需的jax-ws jars放到WEN-INF/lib里,免得将这些jar拷贝来拷贝去。 本人曾试了半天,拷来拷去,反正是搞不定。最后还是一古脑儿索性全放到WEB- INF/lib里,倒是爽快: WEB-INF/lib/jaxws-rt.jar WEB-INF/lib/jaxws-tools.jar WEB-INF/lib/log4j-1.2.8.jar WEB-INF/lib/saaj-api.jar WEB-INF/lib/saaj-impl.jar WEB-INF/lib/sjsxp.jar WEB-INF/lib/stax-ex.jar WEB-INF/lib/streambuffer.jar WEB-INF/lib/sxalan.jar 别问我到底哪个是哪个,都是干什么的。 二,部署jax-ws 2.0/2.1 POJO Web Service到JBoss5.0.0.GA 好像是去年,JBoss5面世了,根据其Release Note,它是“the final release of the JBoss 5.0 series for th e Java EE?5 codebase that fully complies with the Java EE 5 conformance testing certification requirements.” 但本人的试验结果却

jQuery验证框架

(一)、可选项( options ) (1) (二)插件方法(jQuery validation) (7) (三、四)选择器及实用工具(jQuery validation) (8) 四、实用工具(Utilities) (8) (五)验证器(jQuery validation) (9) (六)内置验证方法(jQuery validation) (11) (七)注意事项(jQuery validation) (17) (八)应用实例(jQuery validation) (18) jQuery验证框架应用 https://www.doczj.com/doc/3615437486.html,/blog/556633 Html代码

Name
此文谨以以上js片段开始介绍jQuery Validation。 验证从这个方法开始:validate( [options] ) (一)、可选项( options ) [1] debug类型:Boolean默认:false 说明:开启调试模式。如果为true,表单不会提交,而且会在控制台显示一些错误消息(需要Firebug或者Firebug lite)。当要阻止表单默认提交事件,尝试去开启它。 $(".selector").validate({ debug: true }) [2] submitHandler类型:Callback默认:default (native) form submit 说明:当表单通过验证,提交表单。回调函数有个默认参数form $(".selector").validate({ submitHandler: function(form) { // do other stuff for a valid form form.submit(); } }) [3] invalidHandler类型:Callback

YII框架数据验证规则

表单验证错误处理 你会发现在方法中我们使用了 CModel::addError().添加错误接受两个参数: 第一个参数是在表单中显示错误的属性名,第二个参数时显示的错误信息 。用 户提交表单时,可能除表单验证之外还有与表单各输入项无关的其他错误产生, 例如后台数据库出错、接口调用失败等。这种情况下可以在Model 中相应的位 置使用如下代码记录错误: 1 $this->addError('info', '发送不明错误,请重试'); // info 只是一个自定义的名字,不需要真正有这个字段或属性。 然后在视图文件中这样输出错误: 1 echo $form->error($model, 'info'); //$form 是 CActiveForm 的实例。$form->getErrors(); 当我们调用 CModel::validate() 方法, 我们可以指定一个场景参数. 只有在特定 的场景下校验规则才会生效.校验规则会在那些 on 选项没有被设置或者包含了 指定的场景名称的场景中生效.如果我们没有指定场景,而调用 了 CModel::validate() 方法,只有那些 on 选项没有设置的规则才会被执行 . 1 2 3 $model = new model('register'); // or $model=new User; // $model->scenario='register'; 例如,在注册一个用户时,我们运行以下脚本来执行校验 : 1 array('password', 'compare', 'compareAttribute'=>'repassword', 'on'=>'register,edi t'), Email 验证器: 1 array('email','email'), //验证email 这个字段必须符合email 格式 Compare 验证器: 1 2 array('password2','compare','compareAttribute'=>'password1'),//验证 password1和password2必须一致 array('end_date','compare', 'compareAttribute' => 'start_date', 'op erator' => '>', 'message' => '错误的开始结束日期'), Unique 验证器: 1 array('username,email','unique','className'=>'User'),//User 为Model,username,email 在user 中不允许重复 如果被验证属性为空,就认为完全合法,立刻返回,但是如果allowEmpty 为false 的话,就要通过函数后续的所有验证条件 。那么对于一个传入的空值来说, allowEmpty 无论是true 还是false ,极有可能都不会报错,上面节选的验证器是 StringValidator ,如果我没有设定min 的值,那么一个空串在allowEmpty 为false 的情况下,还是不会报任何错误的。如果希望一个属性值不能为空,最好还是用 RequiredValidator 来验证,allowEmpty 是不靠谱的,建议一般就采取allowEmpty 的默认值true ,可以节省几次判断。 1 a rray('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),

jQuery_validation验证框架使用方法

jQuery validation验证框架 jQuery验证框架(一)可选项(jQuery validation) 15人收藏此文章,收藏此文章发表于8个月前, 已有3152次阅读共0个评论15人收藏此文章 jQuery验证框架 Html代码 1. 3. 8.

9. Name 10. 11.
此文谨以以上js片段开始介绍jQuery Validation。 验证从这个方法开始:validate( [options] ) 一、可选项( options ) [1]debug类型:Boolean默认:false

Play Framework 框架 验证

使用Play验证HTTP数据 Validating HTTP data with Play 验证确保数据有确定的值,或者符合某种特殊的需求,你可以在模型被保存进数据库之前使用验证去核实你的模型,或者直接在HTTP参数中使用它们去验证一个简单的form表单。 Validations ensure that the data has certain values or meets specific requirements. You can use validation to verify that your models are correct before saving them to the database, or use them directly on HTTP parameters to validate a simple form. 它们怎样工作? How does it work? 每一次的请求使用它自己的验证去收集错误。在控制器里,你可以直接使用Validation变量,你也可以直接访问 play.data.validation.Validation类下的API中的静态方法。 Each request has it own **Validation** object which collects errors. From a controller, you access it directly using the **validation** variable. You can still access a subset of the API u sing the **play.data.validation.Validation** class’ static methods. 验证对象包含一个集合play.data.validation.Error对象,每一个错误有2个属性。

java bean 属性验证框架 valid

项目介绍 java 开发中,参数校验是非常常见的需求。 但是 hibernate-validator 在使用过程中,依然会存在一些问题。 特性 ?支持 fluent-validation ?支持 jsr-303 注解 ?支持 i18n ?支持用户自定义策略 ?支持用户自定义注解 开源地址 valid 创作目的 hibernate-validator 无法满足的场景 如今 java 最流行的 hibernate-validator 框架,但是有些场景是无法满足的。比如: 1.验证新密码和确认密码是否相同。(同一对象下的不同属性之间关系) 2.当一个属性值满足某个条件时,才进行其他值的参数校验。 3.多个属性值,至少有一个不能为 null 其实,在对于多个字段的关联关系处理时,hibernate-validator 就会比较弱。本项目结合原有的优点,进行这一点的功能强化。 validation-api 过于复杂 validation-api 提供了丰富的特性定义,也同时带来了一个问题。 实现起来,特别复杂。 然而我们实际使用中,常常不需要这么复杂的实现。

valid-api 提供了一套简化很多的 api,便于用户自行实现。 自定义缺乏灵活性 hibernate-validator 在使用中,自定义约束实现是基于注解的,针对单个属性校验不够灵活。 本项目中,将属性校验约束和注解约束区分开,便于复用和拓展。 过程式编程 vs 注解式编程 hibernate-validator 核心支持的是注解式编程,基于 bean 的校验。 一个问题是针对属性校验不灵活,有时候针对 bean 的校验,还是要自己写判断。本项目支持 fluent-api 进行过程式编程,同时支持注解式编程。 尽可能兼顾灵活性与便利性。 项目模块说明 模块名称说明 valid-api 核心 api 及注解定义 valid-core 针对 valid-api 的核心实现 valid-jsr 针对 JSR-303 标准注解的实现 valid-test 测试代码模块 依赖说明 valid-core 默认引入 valid-api valid-jsr 默认引入 valid-core 快速开始 准备工作 JDK1.7+ Maven 3.X+ maven 引入 com.github.houbb valid-jsr

Jquery.Validate验证框架的使用说明

默认校验规则 (1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1 998/01/22 只验证格式,不验证有效性 (7)number:true 必须输入合法的数字(负数,小数) (8)digits:true 必须输入整数 (9)creditcard: 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)rangelength:[5,10] 输入长度必须介于5 和10 之间的字符串")(汉字算一个字符) (15)range:[5,10] 输入值必须介于5 和10 之间 (16)max:5 输入值不能大于5 (17)min:10 输入值不能小于10 默认的提示 messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.", number: "Please enter a valid number.", numberDE: "Bitte geben Sie eine Nummer ein.", digits: "Please enter only digits", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: $.validator.format("Please enter no more than {0} character s."), minlength: $.validator.format("Please enter at least {0} characters."),

IPD主流程框架

I P D主流程框架 Document number:PBGCG-0857-BTDO-0089-PTT1998

IPD主流程框架 1、目的 通过介IPD流程各阶段的目的、关注点和交付成果,明确IPD的功能和意义。 2、范围 使用于PAC将批准的项目任务书(charter)交给PDT后,产品开发直至生命周期的全过程。 3、引用标准 无 4、定义 IPD:Integrated Product Development,集成产品开发。 PAC:Product Appraoval Commmittee,集成组合管理团队。 PDT:Product Development Team,产品开发团队。 5、职责 PDT在概念阶段组建,其主要职责是: 1)对产品在市场上的成功负责; 2)对从概念到发布阶段的产品开发负全部责任; 3)组建、管理和领导PDT核心组; 4)分析与总体业务环境相关的产品机会,并根据最佳方法作出决策; 5)通过有效的沟通、协调和决策进行产品开发活动; 6)在项目任务书/合同或协议限制的范围内管理项目业务和技术要求的执行。 PAC主要职责是: 1)负责确定长期的产品战略方向,并对产品开发的投资进行管理; 2)对产品开发各阶段进行决策评审; 3)协调及决定产品开发所需资源在各项目间的分配; 4)制定公司技术发展战略; 5)审议公司研发对外合作方案。 6、管理规定 IPD主流程分为概念、计划、开发、验证、发布、生命周期六个阶段。其活动输入为PAC下发的项目任务书(charter)。 概念阶段 对产品机会的总体吸引力及是否符合公司的总体策略作出快速评估。 1)主要关注于分析市场机会,包括估计的财务结果、成功的理由及风险; 2)是基于有效的假设,而不是详细的数据。 若概念得到批准,则在计划阶段将对假设进行证实; 若概念没有得到批准,则不浪费资源。 1)初步业务计划; 2)端到端2级项目计划; 3)项目任务书。 计划阶段 清晰地定义产品及其竞争优势,理解业务计划,制定项目计划及资源计划,确保风险可以被合理地管理。 1)最终的产品开发方案(初步业务计划的扩充),这一最终方案定义了产品、市场需求及需要的各个业务部门的支持;

SSH框架 CRUD及验证 ajax校验 完整实例(一)

SSH框架下CRUD及验证完整实例(一) 一准备工作 ●目标和工具 在学习Java两个月之后,尝试使用学过的东西写一个最简单的页面,实现对一张数据库进行基本的CRUD操作和分页,顺便增加服务端验证和Ajax动态验证以及简单的验证码. 使用的工具和环境如下:SSH框架(Struts2.1.6,Spring2.5,Hibernate3.2), Myeclipse8.0, Oracle10g数据库,JS类库prototype.js,json2.js. 数据库连接池使用的是proxool,应用到的jar 包如下图,其中dojo和dwr两个插件是后期添加功能时要用,本实例没有用到,在添加项目Hibernate和Spring支持的时候冲突的架包已经删除. ●项目的目录结构 源文件的目录结构如左图,其中pass文件夹放的是一些历史文件,和本例无关.项目按照mvc框惯例,分为action, dao, model, service, web五层. jsp文件如右图所示放在了WebRoot/per文件夹下,连同js库文件,其中register.jsp是测试验证码使用的.

项目对应的数据库表

二开发步骤 首先新建web项目crm,依次为项目添加SSH支持,接着用工具或命令在数据库中建立数据表PERSON,4个列ID,NAME,AGE,ADDRESS,其中ID为主键.接着在Myeclipse中打开database 试图,为数据库新建一个连接或者使用已有的连接.接下来可以选择直接在database试图中选中PERSON表使用Hibernate反向工程自动生成实体Dao和映射表,也可以自己编写这些文件,相关代码如下. model层,包名com.person.crm.model

jquery.validate表单验证框架详解

jQuery验证框架 https://www.doczj.com/doc/3615437486.html,/blog/556633 Html代码

Name
此文谨以以上js片段开始介绍jQuery Validation。 验证从这个方法开始:validate( [options] ) (一)、可选项( options ) [1] debug类型:Boolean 默认:false 说明:开启调试模式。如果为true,表单不会提交,而且会在控制台显示一些错误消息(需要Firebug或者Firebug lite)。当要阻止表单默认提交事件,尝试去开启它。 $(".selector").validate({ debug: true }) [2] submitHandler类型:Callback 默认:default (native) form submit 说明:当表单通过验证,提交表单。回调函数有个默认参数form $(".selector").validate({ submitHandler: function(form) { // do other stuff for a valid form form.submit(); } })

面试题汇总(三大框架)

中博软件学院——面试参考资料-5 一、Spring依赖注入的3种实现方式是什么? 依赖注入的3种实现方式分别是:接口注入(interface injection)、Set注入(setter injection)和构造注入(constructor injection)。接口注入指的就是在接口中定义要注入的信息,并通过接口完成注入。其具体步骤包括(1)编写一个接口,各种数据的注入将通过这个接口进行。(2)任何想要使用数据的类都必须实现这个接口。Set注入指的就是在接受注入的类中定义一个Set方法,并在参数中定义需要注入的元素。构造注入指的就是在接受注入的类中定义一个构造方法,并在参数中定义需要注入的元素。 二、SSH 框架配置流程是什么? 1.创建java web项目:添加struts包:freemarker,ognl,struts2-core, struts2-spring-plugin,xwork-core,commons-fileupload、commons-io、commons-lang等; 添加spring包:spring-aop、spring-aspects、spring-beans、spring-context、spring-core、spring-jdbc、spring-orm、spring-web等;添加hibernate包:hibernate-core等;添加其他包:ojdbc等 2.配置struts(1)配置struts核心过滤器。打开web.xml,配置struts核心过滤器和 过滤器映射。(2)建立Action,继承ActionSupport类。 (3)配置action。在struts.xml文件中,添加对Action的配置。包含等元素的配置(4)新建视图页面 3.配置hibernate:(1)建立数据库与数据表(2)创建持久层实体类及映射文件(3) 编写数据访问类,集成HibernateDaoSupport父类 4.配置spring:(1)配置applicationContext.xml文件,配置spring会话工厂bean, 数据访问bean ,业务bean和action bean等。(2)引入aop和tx命名空间,配置声明式事务(3)配置web.xml,添加Spring监听器和context-param初始化参数,告知监听器applicationContext.xml的位置。 三、Struts的运行机制是什么 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin); 3、接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问 ActionMapper来决定这个请求是否需要调用某个Action 4、如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求 的处理交给ActionProxy; 5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action 类; 6、ActionProxy创建一个ActionInvocation的实例。 7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关 拦截器(Intercepter)的调用。 8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返 回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表

相关主题
文本预览
相关文档 最新文档