1.
所有的控件(除了日期框)都用ValidationTextBox,然后在其的属性中添加正则表达式校验就可以了。
比如:
<input id="q11" type="text" name="Number" value="" dojoType="dijit.form.ValidationTextBox"
regExpGen="IsNumber"
trim="true"
required="true"
invalidMessage="输入合法的Number" />
然后在script中定义这样一个函数:
function IsNumber(){ return "^\\d+$";}
2.
dijit.form.ValidationTextBox的验证功能很强大,但是唯一不好的地方就是不能防止表单提交。
需要我们自己写一个方法防止form在验证失败的情况下提交表单。方法如下:
<script language="javascript">
function checkAll(){
var isOk=true;
dijit.registry.filter(function(widget){return widget.declaredClass=="dijit.form.ValidationTextBox"?true:false;}).forEach(function(widget){
if(!widget.isValid()){
alert(widget.invalidMessage);
isOk=false;
return;
}
});
return isOk;
}
</script>
这个方法会自动搜索页面所有ValidationTextBox组件,然后判断是否验证通过,如果没有通过则显示失败提示信息,同时防止表单提交。
只要在form的onSubmit事件上增加这个方法 就可以了。例如:
<form onsubmit="return checkAll()">
3.
ValidationTextbox的一些常用方法:
setValue(); //不要使用.value或者.innerHTML来设置值,你可能设置不成功或者失去校验
getValue();
validate(); 手工校验
isEmpty(); 是否为空
isValid(); 是否符合校验规则
4.一些属性:<br />
required="true" //必须填写<br />
trim="true" //将前后的空格自动删除<br />
propercase="true" //单词首字母大写<br />
uppercase="true" //大写字母形式<br />
lowercase="true" //小写字母形式<br />
分享到:
相关推荐
Action通常会有一个特定的方法,比如`validateUsername`或`validateEmail`,这些方法会根据接收到的数据执行验证逻辑。如果验证失败,Action会返回一个错误消息,这个消息可以通过Ajax响应返回到前端,并显示给用户...
通过Dojo的`dojo.xhrPost`或`dojo.form.submit`,我们可以发送POST请求到服务器进行验证,而无需刷新整个页面。 ```javascript // 使用Dojo实现异步验证的JavaScript代码片段 dojo.connect(dojo.byId('registerForm...
function validateForm() { var siteVld = new vld.Validation(); siteVld.addValidObj("latData.title",'标题','Mandatory',VCC.checkMandatory); siteVld.addValidObj("latData.url",'URL','Mandatory',VCC....
在实际开发中,除了核心包,还需要配合其他如Struts标签库(struts-tiles、struts-bean、struts-html等)、Struts的持久化框架(如Hibernate或iBatis)以及各种辅助工具包(如Dojo、jQuery等)来完成更复杂的Web应用...
10. ** strut2-dojo-plugin**:Struts2还提供了与Dojo JavaScript库的集成,可以帮助开发者创建富客户端应用,提供更好的用户体验。 以上是对Struts框架的一些基本知识点的介绍,通过提供的PDF文档,你可以深入学习...
这些方法通常以`validate`开头,如`validateUsername`,`validatePassword`等。在这些方法中,你可以实现自己的验证逻辑。 3. **使用ValidatorPlugIn**: 在Struts的配置文件`struts-config.xml`中,需要配置`...
aws-vault exec <profile> -- dojo 本地调用地形 ./tasks validate ./tasks plan dev 地形变量 多变的 描述 vpc_cidr CIDR块分配用于MI收集器VPC forwarder_repo_name 包含图像的ECR回购 forwarder_image_tag...
8. **Struts2插件**:Struts2支持多种插件,如Struts2-convention插件可以简化Action和Action方法的命名规则,Struts2-dojo-plugin则提供了与Dojo库的集成,方便构建富客户端应用。 这个自定义的Struts框架虽然没有...
•Zend_Dojo •Zend_Dom •Zend_Exception •Zend_Feed •Zend_File •Zend_Filter •Zend_Form •Zend_Gdata •Zend_Http •Zend_InfoCard •Zend_Json •Zend_Layout •Zend_Ldap •Zend_Loader •...
开发者可以自定义验证规则,使用Action类中的validate方法或XML配置文件来实现。 其次,"拦截器"是Struts2的核心特性,它允许在Action执行前后插入自定义逻辑。拦截器可以用来实现日志记录、事务管理、权限控制等...
理解这些控件的属性和事件,如onChange、validate等,能够帮助开发者创建具有验证和交互功能的表单。 2. **选择控件**:选择控件允许用户在多个选项中进行选择,常见的有Dropdown List、Checkbox、Radio Button等。...
var url="validate?id="+escape(target.value); req.open("GET", url, true); req.send(null); } ``` 发送一个GET请求到服务器,请求验证用户名是否已存在。 4. **处理服务器响应**: ```javascript ...
这些库包括但不限于`struts2-core`、`struts2-convention-plugin`、`struts2-dojo-plugin`等,它们为Struts2提供了基础功能和扩展支持。 在`web.xml`配置文件中,Struts2通过过滤器进行集成。核心过滤器`...
- **实现**: 结合`<tapestry:date>`和`<tapestry:textarea>`标签,并使用`@Validate`注解进行校验。 - **示例**: `${model.birthday}" @validate="required"/>` #### 三、e商店 (Creating an e-Shop) **3.1 EShop...
7. **插件系统**:Struts2有一个强大的插件系统,如Freemarker或Velocity模板引擎用于视图渲染,Struts2 Dojo Plugin支持AJAX操作,Struts2 JSON Plugin则方便JSON数据的交互。 8. **实战项目**:在教程中,你将...
<param name="excludeParams">dojo\..*,^struts\..* <result name="success">/success.jsp <result name="input">/upload.jsp ``` 接着,创建一个Action类,比如`UploadAction`,继承自`ActionSupport`。在...
AutoCompletion with Dojo 7.8.4.2.2. AutoCompletion with Scriptaculous 7.8.4.3. ContextSwitch and AjaxContext 7.8.4.3.1. 缺省可用的上下文 7.8.4.3.2. 创建定制的上下文 7.8.4.3.3. 为每个动作设置上...