area17/twill
Twill is an open-source Laravel package for building a custom CMS fast. It provides a polished admin UI with prebuilt features and Vue components, stays flexible and extensible, works headless or integrated, and lets you use your own models with no lock-in.
There are 2 ways to add field validation to blocks. You have to use one or the other. If the blade directive is present it will be used over the class.
The first and easiest option is to add the directives to your block form blade file:
There are 2 possible directives to use, these can be combined.
[@twillBlockValidationRules](https://github.com/twillBlockValidationRules) for validating non translatable fields.
[@twillBlockValidationRulesForTranslatedFields](https://github.com/twillBlockValidationRulesForTranslatedFields) for validating translatable fields.
Both take an array of [field => rules] values. All Laravel validation rules are supported.
Example:
[@twillBlockValidationRules](https://github.com/twillBlockValidationRules)([
'text' => 'required'
])
[@twillBlockValidationRulesForTranslatedFields](https://github.com/twillBlockValidationRulesForTranslatedFields)([
'title' => 'required'
])
If you need more control you can use the block class to set validation rules, or even hook into the validation process.
See Block classes documentation for more details about the block class.
<?php
namespace App\Twill\Block;
use A17\Twill\Services\Blocks\Block;
class ExampleBlock extends Block
{
public $rulesForTranslatedFields = [
'title' => 'required|string',
];
public $rules = [
'text' => 'required',
];
}
How can I help you explore Laravel packages today?