Adds composable form validators with reusable validation logic.
Thank you to Signify for making this module possible.
This module provides a number of reusable composable validators (including AJAX validation) for use both in the CMS and in frontend forms.
Make sure you check out the extensions documentation at a minimum - some of these should be applied in almost all projects using this module.
If your project has any automated client-side tests, or you are implementing a validator to be compatible with this module, please make sure you read the client side tests documentation.
Install via composer:
composer require guysartorelli/silverstripe-composable-validators
adds a submit handler to your form. This doesn't always interact well with other submit handlers, and can result in either front-end validation being skipped or the form not submitting the way you expect it to, depending on which submit handler gets the event first. For best results, don't add additional submit handlers to the form.
If you're using the AjaxCompositeValidator
on a form that uses undefinedoffset/silverstripe-nocaptcha 2.3.0 or higher, you should disable form submission handling for the NocaptchaField
in that form (see instructions in the nocaptcha docs).
that provides AJAX validation. Resolves an issue with losing data, faster turn-around for fixing validation problems, and provides a way to use the same validation for 'client-side' validation of frontend forms.SimpleFieldsValidator
Ensures the internal validation of form fields by callingvalidate()
validator, but more convenient for use in aCompositeValidator
Displays a warning if some field(s) doesn't have a value. Useful for alerting users about data that is technically valid but may not provide the results they expectDependentRequiredFieldsValidator
s to define fields as required conditionally, based on the values of other fields (e.g. only required ifOtherField
has a value greater than 25).RequiredBlocksValidator
Require a specific elemental block(s) to exist in theElementalArea
, with optional minimum and maximum numbers of blocks and optional positional validation.RegexFieldsValidator
Ensure some field(s) matches a specified regex pattern.BaseValidator
Includes methods useful for getting the actualFormField
and its label.FieldHasValueValidator
. Useful for validators that require logic to check if a field has any value or not.