<?php /** * Violin example. Custom rule. * * Creating a custom rule using the addRule method, passing in a * closure which should return false if the check has failed, * or true if the check has passed. * * This example shows the use of arguments that can be used * to make rules that require arguments. */ require '../vendor/autoload.php'; use Violin\Violin; $v = new Violin; $v->addRuleMessage('startsWith', 'The {field} must start with "{$0}".'); $v->addRule('startsWith', function($value, $input, $args) { $value = trim($value); return $value[0] === $args[0]; }); $v->validate([ 'username' => ['dale', 'required|min(3)|max(20)|startsWith(a)'] ]); if ($v->passes()) { // Passed } else { var_dump($v->errors()->all()); }