22 'email' => [
'validate-email' =>
true],
23 'date' => [
'validate-date' =>
true],
36 if (isset(
$data[
'required']) &&
$data[
'required'] == 1) {
37 $validations = array_merge($validations, [
'required-entry' =>
true]);
39 if (
$attribute->getFrontendInput() ===
'price') {
40 $validations = array_merge($validations, [
'validate-zero-or-greater' =>
true]);
43 $validations = array_merge($validations, $this->clipLengthRules(
$attribute->getValidateRules()));
45 return $this->aggregateRules($validations);
52 private function aggregateRules(array $validations): array
55 foreach ($validations as
$type => $ruleValue) {
57 if (
$type ===
'input_validation') {
58 $rule = $this->validationRules[$ruleValue] ?? [];
60 if (count(
$rule) !== 0) {
72 private function clipLengthRules(array
$rules): array
74 if (empty(
$rules[
'input_validation'])) {
build(AbstractAttribute $attribute, array $data)