定制 minuteoflaravel/laravel-self-validating-model 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

minuteoflaravel/laravel-self-validating-model

Composer 安装命令:

composer require minuteoflaravel/laravel-self-validating-model

包简介

Model class that auto-validates when model is saved or updated

README 文档

README

This package contains an extended Eloquent Model class which self-validates against validation rules specified in the Model's rules property when the Model is saved/updated

Works with:

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

Installation

You can install package via composer:

composer require minuteoflaravel/laravel-self-validating-model

How to use

Let's say we have Contact model which extends 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;
}

Instead of extending Illuminate\Database\Eloquent\Model we should extend 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;
}

Then just add you validation rules to the $rules property:

<?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',
    ];
}

That's it! Model will be validated on save/update.

Custom error messages

If you need to add your custom translatable error message then just add it as always to resources/lang/en/validation.php file.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 2.61k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 42
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 42
  • Watchers: 2
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-05-20