内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/18712225/is-there-a-canonical-meteor-js-forms-package
有没有一个表格包被认为是规范的,或者一个可能类似于最终会以核心的东西?
在我的搜索中,我想出了两个主要的竞争者,根据活动,烦恼和文档(但可能还有其他的):
> https://github.com/copleykj/Mesosphere
> https://github.com/aldeed/meteor-autoform
如果有人看过这两个,你可以评论为什么或在哪里可以使用一个对另一个?
因为这还没有得到回答,我会用一个“你为什么要自己做”的论点.
一个表单是DOM和验证的显示.我认为Meteor的 工具 都足够好,不需要他们之间的另一个抽象.
考虑什么流星给你:你可以为你的对象编写一个类,它本身就能理解所有的验证和规则.不是一般的,“必须是数字方式”,而是以一种复杂的方式存在(必须是素数?).你可以编写这个类,它可以在客户端和服务器上运行.您应该始终在客户端和服务器上验证.确认库出现,因为客户端和服务器是(至少)两种不同的语言. Node / Meteor是JS的无处不在.
为什么不使用这个奇妙的功能?不要将验证码放在多个地方.将您的数据提供给您的对象,让它接受或拒绝客户端(和服务器上).
例如,我通过我自己的模板和一个帮助函数的组合来创建每个文本元素:
表格
{{label_text fname='name' title='Agent Name' placeholder='Formal Name' collection='agent' passthrough='autofocus=autofocus ' }} {{label_text fname='agentInCharge' title='Agent In Charge' placeholder='Owner' collection='agent' }} {{label_text fname='phone' title='Phone Number(s)' placeholder='Include Area Code'collection='agent' }} {{>gps }}
模板
<template name='label_text'> <div class="row"> <label class="large-3" for="{{fname}}_{{_id}}">{{title}}</label> <div class="large-8"> <input name="{{fname}}" id='{{fname}}_{{_id}}' class="{{fname}}" value="{{value}}" data-original="{{value}}" placeholder="{{placeholder}}" type="{{type}}" {{passthrough}} /> </div> </div> </template>
和几个助手:
generateField = (options) -> options.hash.value = options.hash.value or this[options.hash.fname] # allow for simple params as default options.hash.title = options.hash.title or options.hash.fname options.hash.template = options.hash.template or "label_text" options.hash.placeholder = options.hash.placeholder or options.hash.title options.hash.type = options.hash.type or 'text' new Handlebars.SafeString(Template[options.hash.template](options.hash)) Handlebars.registerHelper "label_text", (options) -> options.hash.collection = options.hash.collection or 'generic' generateField.call this, options Handlebars.registerHelper "label_text_area", (options) -> options.hash.collection = options.hash.collection or 'generic' options.hash.template = "label_text_area" options.hash.rows = options.hash.rows or 3 options.hash.columns = options.hash.columns or 40 generateField.call this, options Handlebars.registerHelper "switch", (options) -> options.hash.template = "switch" options.hash.em = options.hash.em || 7 generateField.call this, options
然后我发送数据到客户端对象看看它的想法.
代码日志版权声明:
翻译自:http://stackoverflow.com/questions/18712225/is-there-a-canonical-meteor-js-forms-package
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- .net – 是否可以修改PDF表单字段名称?
- 检查Angular2表单是否在组件内有效
- 表单 – 避免Symfony强制显示表单字段
- 细说 Angular 2+ 的表单(二):响应式表单
- 8款最新CSS3表单 环形表单很酷
- 动态表单 form-create 2.5 版本来啦,帮你轻松搞定表单
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
TCP/IP网络编程
[韩] 尹圣雨 / 金国哲 / 人民邮电出版社 / 2014-7 / 79.00元
第一部分主要介绍网络编程基础知识。此部分主要论述Windows和Linux平台网络编程必备基础知识,未过多涉及不同操作系统特性。 第二部分和第三部分与操作系统有关。第二部分主要是Linux相关内容,而第三部分主要是Windows相关内容。从事Windows编程的朋友浏览第二部分内容后,同样可以提高技艺。 第四部分对全书内容进行总结,包含了作者在自身经验基础上总结的学习建议,还介绍了网络......一起来看看 《TCP/IP网络编程》 这本书的介绍吧!