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
AjaxCompositeValidator
The AjaxCompositeValidator
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).
AjaxCompositeValidator
CompositeValidator
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
validate()
on them.RequiredFieldsValidator
RequiredFields
validator, but more convenient for use in a CompositeValidator
.WarningFieldsValidator
DependentRequiredFieldsValidator
SearchFilter
s to define fields as required conditionally, based on the values of other fields (e.g. only required if OtherField
has a value greater than 25).RequiredBlocksValidator
ElementalArea
, with optional minimum and maximum numbers of blocks and optional positional validation.ConstraintsValidator
symfony/validation
constraints. This is super powerful - definitely check it out.RegexFieldsValidator
(deprecated)BaseValidator
FormField
and its label.FieldHasValueValidator
BaseValidator
. Useful for validators that require logic to check if a field has any value or not.ValidatesMultipleFields
ValidatesMultipleFieldsWithConfig
ValidatesMultipleFields
but requires a configuration array for each field to be validated.