Implement regex validation conditions in form logic (#645)
* Implement regex validation conditions in form logic - Added support for 'matches_regex' and 'does_not_match_regex' conditions in FormPropertyLogicRule and FormLogicConditionChecker. - Updated validation logic to handle regex patterns, including error handling for invalid patterns. - Enhanced tests to cover scenarios for successful and failed regex validation, ensuring proper feedback for form submissions. - Updated JSON schema to include new regex condition types. These changes improve the flexibility of form validation by allowing regex-based conditions, enhancing user experience through more robust validation mechanisms. * update resource filters * Remove ray --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
@@ -306,6 +306,19 @@ class FormLogicConditionChecker
|
||||
return $this->checkLength($propertyCondition, $value, '<');
|
||||
case 'content_length_less_than_or_equal_to':
|
||||
return $this->checkLength($propertyCondition, $value, '<=');
|
||||
case 'matches_regex':
|
||||
try {
|
||||
return (bool) preg_match('/' . $propertyCondition['value'] . '/', $value);
|
||||
} catch (\Exception $e) {
|
||||
ray('matches_regex_error', $e);
|
||||
return false;
|
||||
}
|
||||
case 'does_not_match_regex':
|
||||
try {
|
||||
return !(bool) preg_match('/' . $propertyCondition['value'] . '/', $value);
|
||||
} catch (\Exception $e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user