jreviews:listing_form.validation
Allows adding custom validation rules to the listing submission form validator.
You need to have a working knowledge of Hooks before you get started.
Fires during form validation, after custom field validation has been added
Parameters
| Name | Type | Description |
|---|---|---|
$validator |
\FWD\Illuminate\Validation\Validator |
The validator instance to add rules to |
$creating |
bool |
Whether this is a new listing (true) or update (false) |
Boilerplate Code
Use the boilerplate code to start using the action, and add your own logic or echo output.
fwd_add_action('jreviews:listing_form.validation', function($validator, $creating)
{
// Execute action or echo output
}, 20, 2);
The , 20, N after your callback are the hook priority and the number of arguments your callback accepts. By default, a hook passes your callback only its first argument; for a filter, that is the value being filtered, so a simple function($value) { ... } needs nothing extra. If your callback declares more parameters, such as function($value, $listing) { ... }, you must add N (the parameter count, 2 here). Because N is the fourth argument to fwd_add_filter() or fwd_add_action(), you must also pass the priority (20 is the default). Leaving these off when your callback expects extra parameters causes a Too few arguments to function ... fatal error.
Examples
Set Minimum Required Length for Summary Field
Require that the summary field contains at least 100 characters.
fwd_add_action('jreviews:listing_form.validation', function($validator, $creating)
{
$validator->after(function ($validator) {
$summary = strip_tags($validator->getData()['summary'] ?? '');
if (mb_strlen($summary) < 100) {
$validator->errors()->add('summary', 'The summary needs to be at least 100 characters');
}
});
}, 20, 2);
Source Files
app/Http/Requests/StoreListingRequestFrontend.php