`
canonical
  • 浏览: 364821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[导入]validate: javascript 客户端验证框架

阅读更多

    在witrix平台中,validate.js提供了完整的客户端输入校验框架。其基本思想是为每个输入控件指定验证函数(validator属性),在提交Form的时候自动调用该验证函数即可。
<form action="test.jsp">
<input type="text" name="userName" validator="js.validate.checkNotEmpty(value,'用户名')" />
<input type="button" value="submit" onclick="js.validate.submitForm(this.form)" />
</form>
    witrix平台的一个基本设计原则是模块的独立性,不仅各个模块之间的耦合很少,我们还尽量避免使用配置文件。与struts等web框架不同, witrix的输入校验不依赖于外部配置文件,可以完全独立的使用。虽然jsplet框架也提供了服务器端校验的支持,但在实际使用过程中却很少使用。客 户端校验提供了更好的用户体验。而如果我们需要进一步确保业务逻辑的稳定性,例如避免用户伪造客户端url请求,数据校验需要在业务逻辑对象层进行而不应 是在解析用户请求的时候。针对每个form所写的配置文件有很多不方便的地方,例如witrix平台支持从数据库描述文件直接生成操作界面的快速开发,校 验规则在数据描述文件中指定,而同一个字段可能在多个界面中出现,如果针对Form写校验配置文件,就会出现冗余,而难以保证结构的同步。实际上,一个结 构在界面上表现一次,又在校验配置文件中表现一次,就必然会出现同步问题,解决的方法就是面向对象设计中的对象化,局部化,而不是一个个分离的处理层。

    很多客户端的校验框架使用的是一个万能的校验函数,通过参数不同来实现不同校验。例如
<input type="text" name="userName" validateType="required" />
这种方式的扩展性不好。正如面向对象设计中的通常做法,我们通过使用回调函数(虚拟函数)来实现可扩展的设计。
分享到:
评论

相关推荐

    commons-validator.doc 用法介绍

    2. 删除ActionForm中的validate方法,因为验证框架会自动处理验证逻辑。 **配置Struts** 1. 在`struts-config.xml`中的`&lt;action&gt;`标签中添加`validate="true"`属性,以启用验证,并指定错误发生时的转发地址。 2. ...

    Yii框架表单模型和验证用法

    客户端验证(如果在规则中指定)是可选的,并依赖于JavaScript。开发者可以指定clientValidate属性来提供客户端验证逻辑,这样可以在不提交表单的情况下提供即时的反馈。 总之,Yii框架表单模型和验证用法通过规则...

    Struts编程之struts校验源代码

    数据验证通常分为客户端验证和服务器端验证,客户端验证通过JavaScript在用户提交前检查数据,而服务器端验证则在服务器上进行,更具安全性。 该压缩包“strutsDemo03”包含了Struts项目的所有必要文件,包括配置...

    基于PHP的TFTgalleryphp相册程序源码.zip

    5. **JavaScript文件**:提供客户端交互,如validate.js用于表单验证。 6. **库和框架**:如jQuery、Bootstrap等,提升开发效率和用户体验。 7. **README**:介绍如何安装、配置和运行程序的文档。 8. **LICENSE**:...

    在Angular中实现共享的自定义验证程序指令

    客户端验证通常在用户交互时进行,如输入数据时,而服务器端验证则在提交表单后进行。Angular的`FormsModule`提供了多种内置的验证器,如`required`、`minlength`、`maxlength`等,但有时这些验证规则并不能满足复杂...

    教材习题及解析.pdf

    2. **JavaScript脚本可实现表单提交数据的客户端验证。** - 正确。JavaScript可以用来在客户端进行表单验证,确保用户输入的数据符合预期格式,减轻服务器压力。 3. **JavaEE如同JSP和Servlet等,是一种网站开发...

    vue组件表单数据回显验证及提交的实例代码

    Vue.js是一个构建用户界面的渐进式JavaScript框架,它通过数据绑定和组件化的概念来简化前端开发。在我们的示例中,使用了Vue的`v-model`指令进行双向数据绑定,它能够将表单元素的值与组件的数据对象中的属性同步。...

    defschema:json定义架构查看器

    3. **Python与JSON**:Python内置的`json`模块提供了处理JSON数据的接口,如`dumps()`和`loads()`用于JSON和Python数据结构之间的转换,以及`validate()`用于验证JSON数据。 4. **Python的模块化**:`defschema-...

Global site tag (gtag.js) - Google Analytics