believer-ufa/prettyforms-laravel

帮助实现简单易用的客户端和服务器端表单验证

v0.2.8 2017-05-30 00:01 UTC

README

俄语文档位于本文档以下部分:https://github.com/believer-ufa/prettyforms-laravel/blob/master/README.md#prettyforms-%D0%B4%D0%BB%D1%8F-laravel-5.

该组件可以轻松创建和处理网站上的各种表单。

介绍

我们都知道,每次需要创建和编辑页面上的特定表单时,都需要进行大量的常规工作。这可能是一个编辑个人资料页面,为用户设置新密码,类似的表单在管理界面中,或者只是支持中的一些新应用。

所有这些表单都具有共同的特征:它们相当简单,在实现上也非常相似:在控制器中创建方法,创建视图模板,组织验证,将数据推入某种模型。痛苦,无聊的循环,无聊。在大项目中这需要做多少次?在问题的初期阶段,问题通常是通过脚手架“解决”的,但这只是一个小的作业,随后还需要进行更改和修改。这就是为什么我编写了这个库,大大减少了创建和维护此类简单表单所需资源的数量。

我想创建一个最简约和简单的工具,它只承担一个小型的辅助角色,不限制开发者,并填补了几层抽象。而且,似乎我做到了:目前,组件的安装仅限于一个连接JS库(Prettyforms.js)、服务提供商和特性到主控制器。然后,您可以开始创建基于相同的旧类型控制器的自己的表单,这些控制器现在将具有一些额外的强大方法,使您更容易开发和支持表单。

目前组件实现了以下功能

  • 在不改变当前页面的情况下,在客户端和服务器端进行数据验证
  • 能够编辑模型中的连接,如“多对多”
  • 必要时,可以轻松连接其字段类型
  • 支持两个CSS框架:Twitter Bootstrap和Foundation
  • 支持基于Laravel Breadcrumbs组件的“面包屑”功能
  • 支持软删除、完全删除和恢复
  • 除了标准输入和选择框外,组件还支持以下字段类型
    • 带掩码功能的电话输入字段
    • CKEditor
    • 分组复选框,每个复选框代表与数据库中任何模型的连接
    • 可以创建一个选择框,通过Ajax搜索值(基于"select2"库)
  • 所有非标准组件的INPUT JS默认通过CDN加载,但可以通过配置文件轻松禁用

应用程序示例

您可以通过以下链接下载并探索应用的真正工作示例:https://github.com/believer-ufa/prettyforms-laravel5-app

上面描述的几乎所有功能都存在于示例应用程序中:验证、编辑“多对多”关系、Ajax搜索、自我删除和恢复、从CDN加载编辑器和其他JS文件、面包屑等。

这个正在运行的应用程序示例也可以作为您自己应用程序的基础:只需自行安装,并在示例内容的基础上启动一个新项目。

#PrettyForms для Laravel 5

该组件允许您轻松创建和处理网站的各种表单。

介绍

最近我一直在致力于我的小型库PrettyForms,用于生成和处理表单。我们都知道,每次在网站上创建和处理特定表单时,都需要进行大量重复性的工作。这可能是编辑个人资料页面、为用户设置新密码、后台中的类似表单,或者仅仅是支持中的新请求。

所有这些表单都具有共同特性:它们相对简单,在实现方面非常相似:在控制器中创建方法,创建视图模板,组织数据验证,将数据放入模型。痛苦、例行公事、无聊。在大项目中,这需要做多少次?在初期阶段,问题通常通过脚手架来解决,但这只是一个小的模板,最终仍然需要修改和改进。这就是我编写这个库的原因,它可以大大减少创建和支持此类简单表单所需资源。

在此过程中,我努力创建了一个尽可能最小化和简单的工具,它只承担一小部分辅助角色,不会限制开发者,也不会用多层抽象淹没他们。似乎我做到了这一点:目前,组件的安装只需连接一个JS库(Prettyforms.js)、服务提供者和特制到父控制器。之后,您就可以开始创建基于相同的旧好控制器的表单,这些控制器现在将获得一些额外的强大方法,使您更容易开发和维护表单。

目前,该组件实现了以下功能

  • 在客户端和服务器端进行数据验证,而无需离开当前页面
  • 编辑“多对多”模型关系的可能性
  • 可以轻松连接自己的字段类型
  • 支持三种CSS框架:Twitter Bootstrap、Foundation和Kube
  • 基于Laravel Breadcrumbs组件支持在表单上方显示“面包屑”
  • 支持软删除、完全删除和恢复对象
  • 除了标准的输入和选择之外,还支持以下字段类型
    • 带有可设置掩码的电话号码输入字段
    • CKEditor编辑器
    • 代表与数据库中某个模型的关联的复选框组
    • 可以创建通过Ajax搜索值的Select(基于“select2”插件)
  • 默认情况下,所有必要的非标准输入JS组件都通过CDN加载,但可以通过组件配置文件轻松禁用

应用程序示例

您可以通过以下链接下载并学习这个真实工作的应用程序示例: https://github.com/believer-ufa/prettyforms-laravel5-app

上述所有功能都在应用程序示例中以实际工作状态存在:验证、编辑多对多关系、Ajax搜索、软删除和恢复、通过CDN加载编辑器和JS组件、面包屑,等等。

此工作应用程序示例也可以用作您自己应用程序的基础:只需安装它并开始根据示例内容创建新项目。

文档