minuteoflaravel/laravel-self-validating-model

在模型保存或更新时自动验证的模型类

1.0.0 2022-05-20 19:45 UTC

This package is auto-updated.

Last update: 2024-09-13 00:57:46 UTC


README

此包包含一个扩展的 Eloquent 模型类,当模型保存/更新时,会自动根据模型规则属性中的验证规则进行验证

兼容性

  • Laravel 9
  • Laravel 8
  • Laravel 7
  • Laravel 6

安装

您可以通过 composer 安装此包

composer require minuteoflaravel/laravel-self-validating-model

如何使用

假设我们有一个 Contact 模型,它扩展了 Illuminate\Database\Eloquent\Model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Contact extends Model
{
    use HasFactory;
}

我们不应扩展 Illuminate\Database\Eloquent\Model,而应扩展 MinuteOfLaravel\Validation\SelfValidatingModel

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use MinuteOfLaravel\Validation\SelfValidatingModel as Model;

class Contact extends Model
{
    use HasFactory;
}

然后只需将验证规则添加到 $rules 属性

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use MinuteOfLaravel\Validation\SelfValidatingModel as Model;

class Contact extends Model
{
    use HasFactory;
    
    public $rules = [
        'first_name' => 'required',
        'last_name' => 'required',
        'email' => 'required|email:rfc,dns,spoof',
    ];
}

这样就完成了!模型在保存/更新时将被验证。

自定义错误消息

如果您需要添加自定义可翻译错误消息,则只需将其添加到 resources/lang/en/validation.php 文件中即可。

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件