padosoft / laravel-validable
特质,用于在保存Eloquent模型时激活验证
1.6.0
2024-05-20 10:36 UTC
Requires
- php: >=7.0.0
- illuminate/database: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/validation: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ~3.3.0|~3.4.2|^3.5.0|^4.0|^5.0|^6.0|^7.3|^8.0|^9.0
- phpunit/phpunit: ^5.7|6.2|^7.0|^8.0|^9.5.20|^10.0|^11.0
- roave/security-advisories: dev-latest
README
此包提供了一个特质,当保存/更新/删除带有上传表单请求的任何Eloquent模型时,将自动处理上传。
##要求
- php: >=7.0.0
- illuminate/database: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/validation: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
安装
您可以通过composer安装此包。
$ composer require padosoft/laravel-validable
用法
您的Eloquent模型应使用Padosoft\Laravel\Validable\Validable
特质。
您必须在模型中定义protected static $rules
规则数组。您还可以在模型中定义protected static $messages
自定义消息数组。
以下是实现特质的示例:
<?php namespace App; use Padosoft\Laravel\Validable\Validable; use Illuminate\Database\Eloquent\Model; class YourEloquentModel extends Model { use Validable; protected static $rules = [ 'name'=>'required|max:10', 'order'=>'sometimes|integer|max:10', ]; protected static $messages = [ 'name.required'=>'obbligatorio' ]; }
您可以为仅更新方法编写特定的验证
class YourEloquentModel extends Model { use Validable; protected static $rules = [ 'name'=>'required|max:10|unique:table,field', 'order'=>'sometimes|integer|max:10', ]; protected static $updating_rules = [ 'name'=>'required|max:10|unique:table,field,[id]', 'order'=>'sometimes|integer|max:10', ]; protected static $messages = [ 'name.required'=>'obbligatorio' ]; }
注意: [id]将在运行时被模型属性覆盖。
您可以通过这种方式检查模型是否已保存
$model = new YourEloquentModel; $model->name='test'; if (!$model->save()){ $erros=$model->getErrors(); }
您可以获取模型的验证规则
$rules=YourEloquentModel::getRules();
有关所有可用方法,请参阅Validable特质。
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件而不是使用问题跟踪器。
鸣谢
受https://github.com/JeffreyWay/Laravel-Model-Validation的启发
关于Padosoft
Padosoft (https://www.padosoft.com) 是一家位于意大利佛罗伦萨的软件公司。专注于电子商务和网站。
许可
MIT许可 (MIT)。有关更多信息,请参阅许可文件。