PHP code example of sglusnevs / violin

1. Go to this page and download the library: Download sglusnevs/violin library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

sglusnevs / violin example snippets


use Violin\Violin;

$v = new Violin;

$v->validate([
    'name'  => ['billy', 'on passed, woo!';
} else {
    echo '<pre>', var_dump($v->errors()->all()), '</pre>';
}

$v->addRuleMessage('isbanana', 'The {field} field expects "banana", found "{value}" instead.');

$v->addRule('isbanana', function($value, $input, $args) {
    return $value === 'banana';
});

$v->validate([
    'fruit' => ['apple', 'isbanana']
]);

$v->addRuleMessage('

$v->addRuleMessages([
    'eld} needs to be an integer, but I found {value}.',
]);

$v->addFieldMessage('username', '

$v->addFieldMessages([
    'username' => [
        ' your age.',
        'int'      => 'Your age needs to be an integer.',
    ]
]);

$v->validate([
    'username_box|Username' => ['' => '

$v->before(function($violin) {
    // This will happen before the validation..
});

$v->after(function($violin) {
    // This will happen after the validation..
});

class MyValidator extends Violin
{
    protected $db;

    public function __construct(PDO $db)
    {
        $this->db = $db;

        // Add rule message for custom rule method.
        $this->addRuleMessage('uniqueUsername', 'That username is taken.');
    }

    // Custom rule method for checking a unique username in our database.
    // Just prepend custom rules with validate_
    public function validate_uniqueUsername($value, $input, $args)
    {
        $user = $this->db->prepare("
            SELECT count(*) as count
            FROM users
            WHERE username = :username
        ");

        $user->execute(['username' => $value]);

        if($user->fetchObject()->count) {
            return false; // Username exists, so return false.
        }

        return true;
    }
}

// A database connection.
$db = new PDO('mysql:host=127.0.0.1;dbname=website', 'root', 'root');

// Instantiate your custom class with dependencies.
$v = new MyValidator($db);

$v->validate([
    'username' => ['billy', '

$v->validate([
    'username' => ['billy', 'r)|max(100, number)']
]);

$twoDaysAgo = new DateTime('2 days ago');
$date = $twoDaysAgo->format('d M Y');

$v->validate([
    'date' => [$date, '