2017 © Pedro PelΓ‘ez
 

library lk-validatebuilder

[Larakit] Validate Builder

image

larakit/lk-validatebuilder

[Larakit] Validate Builder

  • Wednesday, November 8, 2017
  • by larakit
  • Repository
  • 1 Watchers
  • 0 Stars
  • 349 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 8 % Grown

The README.md

[Larakit ValidateBuilder]

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ массива ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ, (*1)

Π—Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚:

  • экономия Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π° счСт Π°Π²Ρ‚ΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΈ составлСнии массива ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ

ПокаТСм использованиС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Request:, (*2)

1. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€Π°Π²ΠΈΠ» Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ:

php artisan make-lk:validator UserRegister

Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ», (*3)

./app/Http/Validators/UserRegisterValidator.php

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, (*4)

<?php
namespace App\Validators;

use Larakit\ValidateBuilder;

class UserRegisterValidator extends ValidateBuilder {

    function build() {
        $this
        ->messageRequired('Π—Π°Π±Ρ‹Π» Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ?')
        //############################################################
        //составляСм ΠΏΡ€Π°Π²ΠΈΠ»Π° для поля "Π»ΠΎΠ³ΠΈΠ½"
        //############################################################
        ->to('login')
        //это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅
        ->ruleRequired('ΠœΡ‹ настаиваСм Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого поля')
        //с минимальной длиной 6 символов
        ->ruleMin(6)
        //с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ полю Π»ΠΎΠ³ΠΈΠ½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
        ->ruleUnique('users', 'login')
        //############################################################
        //составляСм ΠΏΡ€Π°Π²ΠΈΠ»Π° для поля "ΠΏΠ°Ρ€ΠΎΠ»ΡŒ"
        //############################################################
        ->to('password')
        //это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅
        ->ruleRequired()
        //это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ подтвСрТдСния
        ->ruleConfirmed()
        //ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ
        ->ruleRegex('[\w\d]+')
        //с минимальной длиной 6 символов
        ->ruleMin(8)
        //############################################################
        //составляСм ΠΏΡ€Π°Π²ΠΈΠ»Π° для поля "фамилия"
        //############################################################
        ->to('last_name')
        //с минимальной длиной 6 символов
        ->ruleMin(3)
        //с максимальной длиной 30 символов
        ->ruleMax(30)
        //состоящСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ²
        ->ruleAlpha()
        //############################################################
        //составляСм ΠΏΡ€Π°Π²ΠΈΠ»Π° для поля "Π»ΠΎΠ³ΠΈΠ½"
        //############################################################
        ->to('first_name')
        //с минимальной длиной 6 символов
        ->ruleMin(3)
        //с максимальной длиной 30 символов
        ->ruleMax(30)
        //состоящСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ²
        ->ruleAlpha()
        //Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ поля "имя" Π’ΠžΠ›Π¬ΠšΠž ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅ "отчСство"
        ->ruleRequiredWith('middle_name')
        //############################################################
        //составляСм ΠΏΡ€Π°Π²ΠΈΠ»Π° для поля "Π»ΠΎΠ³ΠΈΠ½"
        //############################################################
        ->to('middle_name')
        //с минимальной длиной 6 символов
        ->ruleMin(3)
        //с максимальной длиной 30 символов
        ->ruleMax(30)
        //состоящСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ²
        ->ruleAlpha()
        //Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ поля "отчСство" Π’ΠžΠ›Π¬ΠšΠž ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΎΠ±Π° поля: "фамилия" ΠΈ "отчСство"
        ->ruleRequiredWithAll('first_name,last_name')
    }

}

2. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ сам request

php artisan make:request UserRegister

Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ», (*5)

./app/Http/Requests/UserRegister.php

Π² Π½Π΅ΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π° ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅, (*6)

<?php

namespace App\Http\Requests;

use App\Validators\UserRegisterValidator;
use App\Http\Requests\Request;

class UserRegister extends Request {

    /**
     * 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 UserRegisterValidator::instance()->rules();
    }

    /**
     * Set custom messages for validator errors.
     *
     * @return array
     */
    public function messages()
    {
      return UserRegisterValidator::instance()->messages();
    }

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

ΠΏΡ€Π°Π²ΠΈΠ»Π°:

[
  "login" => "required|min:6|unique:users,login"
  "password" => "required|confirmed|regex:[\w\d]+|min:8"
  "last_name" => "min:3|max:30|alpha"
  "first_name" => "min:3|max:30|alpha|required_with:middle_name"
  "middle_name" => "min:3|max:30|alpha|required_with_all:first_name,last_name"
];

сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…:

[
    'required' => 'Π—Π°Π±Ρ‹Π» Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ?',
    'login.required' => 'ΠœΡ‹ настаиваСм Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого поля'
];

Π“ΠΎΠ»ΠΎΠ²Π° - Π½Π΅ Ρ‡Π΅Ρ€Π΄Π°ΠΊ ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΉ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ!

Π”ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ эти Π²Π΅Ρ‰ΠΈ Π°Π²Ρ‚ΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ‚Ρƒ!, (*7)

The Versions

08/11 2017

dev-master

9999999-dev

[Larakit] Validate Builder

  Sources   Download

MIT

The Requires

 

by Alexey Berdnikov

laravel laravel 5 larakit