前言:这阵子看了两本CSS的书~对于CSS层叠,定位,继承等机制基本上都了解了,就想着自己写几个页面~正好自己就写了写CSS样式,然后用React渲染出来~

闲话不多说,简单说一说这个页面,希望能对大家有些帮助;

代码已经上传到GitHub,地址为:https://github.com/sven36/React

这个地址可以看一下效果:https://sven36.github.io/React/React.html

这里简单说一下:页面比较简单,麻烦的地方在于输入框特别多,而且表单验证规则比较繁琐,比如输入框失去焦点要对当前内容进行判断,不符合规则边框标红,选择单身则配偶信息不允许操作,还有需要输入数字的,自动保留两位小数,有的输入只允许中文等等;

这些代码基本上都在Input这个组件里面写的;就在sk.js这个文件;bundle.js是webpack编译的reat代码,有环境的可以编译一下;

其实我在这个过程中,感觉最值得仔细思考的是React的组件化思想;就是这些html元素应该如何组合,哪些元素应该是一个组件,以达到组件复用;

在页面前三分之一,我是只用input一个组件,每一行基本都是<dd><ul><li><Input (React组件)/></li></ul><dd>这样的结构,最后一部分我把ul封装成一个组件<dd><Ul (React组件) /></dd>  ;   <Ul (React组件) />又根据传入参数不同渲染成<li><Input (React组件)/></li>

<li><Select(React组件)/></li>组件;这部分大家感兴趣可以看一下;

 还有就是CSS样式也是适配主流浏览器的~针对Ie8等版本落后的浏览器我也添加了一些回退样式,保证效果不会太差~

React实例----一个表单验证比较复杂的页面的更多相关文章

  1. jquery做一个表单验证

    正则表达式的写法: var re=new RegExp('规则', '可选参数');var re=/规则/参数;(这个最常用) 正则表达式的规则 和其他语言的正则表达式规则一样,可以参考我的另一边博文 ...

  2. 实例讲解表单验证插件Validation的应用

    jquery.Validation是一款优秀的jquery插件,它能对客户端表单进行验证,并且提供了许多可以定制的属性和方法,良好的扩展性.现在 结合实际情况,我把项目中经常要用到的验证整理成一个实例 ...

  3. javascript:正则表达式、一个表单验证的例子

    本文内容: 正则表达式 正则表达式的使用方法 正则表达式的特殊匹配字符 正则表达式修饰符 利用正则表达式进行表单验证的例子 首发日期:2018-05-13 正则表达式: 正则表达式的使用方法: 首先创 ...

  4. 6.4-6.5 使用form表单验证,完善登录页面

    之前是使用自定义的类来实现登录逻辑,现在使用django内置的form表单验证,用继承django的view来实现登录页面. users > views.py 的内容是: from django ...

  5. angular表单验证实例----可用的代码

    前段时间,公司做一个单页面,就是一个表单验证,早开始在菜鸟教程上关注了angular,所以下派上用场了 angular里面对于表单验证,设置了很多指令. 也就是说不用自己写一些逻辑,直接绑定指令就行. ...

  6. es6 封装一个基础的表单验证

    1, 需求分析 设计一个通用的表单验证,如果后期表单中添加了更多的需求,不需要更改之前的代码逻辑,最好不要改之前的代码,需要加什么直接加就好了. 2,代码分析 此表单验证最好返回一个函数,在api设计 ...

  7. [php基础]PHP Form表单验证:PHP form validator使用说明

    在PHP网站开发建设中,用户注册.留言是必不可少的功能,用户提交的信息数据都是通过Form表单提交,为了保证数据的完整性.安全性,PHP Form表单验证是过滤数据的首要环节,PHP对表单提交数据的验 ...

  8. 如何优雅的使用 Angular 表单验证

    随便说说,这一节可以跳过 去年参加 ngChine 2018 杭州开发者大会的时候记得有人问我: Worktile 是什么时候开始使用 Angular 的,我说是今年(2018年) 3 月份开始在新模 ...

  9. jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件

    jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuer ...

随机推荐

  1. 超全!整理常用的iOS第三方资源

    一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址:https://github. ...

  2. IOS开发-ObjC-NSArray

    OC中数组分不可变数组(NSArray)和可变数组(NSMutableArray). 不可变数组: //------------------------------不可变数组------------- ...

  3. JavaScript高级程序设计-13:事件

    JavaScript与HTML之间的交互是通过事件实现的. 一.事件流 首先我们要明白事件流的概念.当我们点击一个按钮时,也点击了按钮的容器元素,甚至也点击了整个事件.事件流描述就是从页面中接收事件的 ...

  4. Bzoj1479: [Nerrc1997]Puncher打孔机

    1479: [Nerrc1997]Puncher打孔机 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 22  Solved: 14[Submit][Sta ...

  5. 如何获取DOM中当前获取焦点的元素

    <script type="text/javascript"> function msg(e) // e = event { var target; //initial ...

  6. C#键盘事件处理(来源网上)

    C#键盘事件处理 如果你希望用户按F1弹出chm帮助,代码如下: private void FrmMain_Load(object sender, EventArgs e) { this.KeyPre ...

  7. wordpress数据表结构

    Table: wp_commentmeta Field Type Null Key Default Extra meta_id bigint(20) unsigned PRI NULL auto_in ...

  8. delphi的TFileStream 内存流

    一.文件 文本文件是以行为单位进行读.写操作的.文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读.写操作是不允许的. 二.定义 FileStream: TFileStream; 三.打 ...

  9. FineUI表格模板列Undefined问题

    一般是配置文件未添加ClientID="AutoID"引起

  10. 持续集成的一些讨论(CI)

    如何保证程序开发的新功能降低BUG,那就是需要他们自己写用测试工具来写测试用例,包括Mocha(JS).Junit(Java).GTest(C++):而上传到SVN或者GIT后,又如何保证能跟原有的功 ...