ognjen/laravel-validatable

v1.0.1 2021-06-16 14:15 UTC

This package is auto-updated.

Last update: 2024-09-16 21:04:58 UTC


README

在保存之前验证 Eloquent 模型。

安装

使用 Composer 安装包

composer require ognjen/laravel-validatable

用法示例

在模型本身上定义验证规则和消息。

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;
use Ognjen\Laravel\Validatable;

class User extends Model {
    use Validatable;

    const VALIDATION_MESSAGES = ['age.numeric'=> 'Custom numeric message'];
    protected $fillable = ['name', 'email', 'age'];
    
    protected function getValidationMessages()
    {
        return self::VALIDATION_MESSAGES;
    }

    protected function getValidationRules()
    {
        return [
            'name' => 'required',
            'email'=> 'required|email|unique:users,email',
            'age'=> 'required|numeric'
        ];
    }
}
$user = User::create([
    'name' =>'name',
    'email'=>'name@example.com',
    'age' => 66
]);

if ($user->hasValidationErrors())
{
    $user->getValidationErrors();
}  
$user = new User();
$user->name = 'name';
$user->email = 'name@example.com';
$user->age = 'not a numeric';

if ($user->save() === false)
{
    $user->getValidationErrors();
}