ozanmuyes / paraveley
根据Laravel的FormRequest自动生成Parsley规则。
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-28 18:05:18 UTC
README
根据Laravel 5的FormRequest自动生成Parsley规则。
要求
- Laravel 5及以后版本
- Parsley 2
安装
您可以通过以下选项之一来安装Paraveley:
-
将以下行添加到您的
composer.json
文件中
"ozanmuyes/paraveley": "0.1.*"
然后在您的CLI上运行composer update
命令。 -
在您的CLI上运行
composer require "ozanmuyes/paraveley:0.1.*"
命令。
用法
在namespace
声明下方添加Ozanmuyes\Paraveley\Traits\FormRequestExtractor;
,并在您的Request类中使用use FormRequestExtractor;
特性。
要获取要传递给视图的Parsley规则数组,只需调用$request->parsleyRules()
函数。
有关更多信息,请参阅示例部分。
示例
-
CreateArticleFormRequest.php
文件<?php namespace App\Http\Requests; use App\Http\Requests\Request; use Ozanmuyes\Paraveley\Traits\FormRequestExtractor; class CreateArticleFormRequest extends Request { use FormRequestExtractor; /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return false; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ "title" => "required|min:3|max:64", "subtitle" => "min:3|max:128", "content" => "required" ]; } }
-
ArticlesController.php
文件<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use App\Article; use App\Http\Requests\CreateArticleFormRequest; class ArticlesController extends Controller { /** * Show the form for creating a new resource. * * @return Response */ public function create() { $parsleyRules = (new CreateArticleFormRequest())->parsleyRules(); /* * $parsleyRules is an array which carries these values depending our * CreateArticleFormRequest class' rules() function; * * array:3 [ * "title" => array:3 [ * "data-parsley-required" => "true" * "data-parsley-minlength" => "3" * "data-parsley-maxlength" => "64" * ] * "subtitle" => array:2 [ * "data-parsley-minlength" => "3" * "data-parsley-maxlength" => "128" * ] * "content" => array:1 [ * "data-parsley-required" => "true" * ] * ] */ return view("create")->with("parsleyRules", $parsleyRules); } }
-
create.blade.php
文件-
如果您正在使用
LaravelCollective/html
包(我强烈推荐使用){!! Form::text("title", null, ["class" => "form-control"] + $parsleyRules["title"]) !!}
-
如果您尚未使用此包
<input name="title" class="form-control" <?php foreach ($parsleyRules["title"] as $key => $value) { echo $key . "='" . $value . "' "; } ?>>
-
备注
以下Laravel 5规则尚未实现:
- active_url
- after
- array
- before
- confirmed
- date
- exists
- image
- mimes
- required_with
- required_with_all
- required_without
- required_without_all
- same
- timezone
- unique
有关这些规则的未来计划,请参阅路线图部分。
路线图
- 将编写和完成测试。
- 由于某些Laravel 5规则依赖于数据库(例如,
exists
、unique
),这些规则在客户端不适用。但其他尚未实现的规则将很快实现。请自由fork并创建pull request。
许可证
MIT许可证(MIT)
版权所有 © 2015 Ozan Müyesseroğlu
在此,任何人免费获得此软件及其相关文档副本(“软件”),在不限制条件的情况下处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许软件接收方以本许可条件进行操作
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是因合同、侵权或其他方式引起的,无论是源于、因涉及或与软件或软件的使用或其他方式有关。