diff --git a/plist b/plist index bf4b6b9ca..f0739f3de 100644 --- a/plist +++ b/plist @@ -590,6 +590,7 @@ /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validation.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/CallbackValidator.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/CsvListValidator.php +/usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/InclusionIn.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/IntegerValidator.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/MinMaxValidator.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/NetworkValidator.php diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php index 67ea661ce..44ea6abf5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseListField.php @@ -28,7 +28,7 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\InclusionIn; +use OPNsense\Base\Validators\InclusionIn; use OPNsense\Base\Validators\CsvListValidator; /** diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CountryField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CountryField.php index d792e63ac..79c57dda5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CountryField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/CountryField.php @@ -28,8 +28,6 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\InclusionIn; -use OPNsense\Base\Validators\CsvListValidator; /** * Class CountryField field type to select iso3166 countries diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php index a6c444e67..e6d1d9c39 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php @@ -28,9 +28,6 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\InclusionIn; -use OPNsense\Base\Validators\CsvListValidator; - /** * Class ModelRelationField defines a relation to another entity within the model, acts like a select item. * @package OPNsense\Base\FieldTypes diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php index 7569a3a5a..2eb74b0dd 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php @@ -28,7 +28,6 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\InclusionIn; use OPNsense\Firewall\Alias; /** diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php index e36ad1f67..32c2e892c 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UniqueIdField.php @@ -28,7 +28,6 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\InclusionIn; /** * Class UniqueIdField diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Validators/InclusionIn.php b/src/opnsense/mvc/app/models/OPNsense/Base/Validators/InclusionIn.php new file mode 100644 index 000000000..affeb7a2b --- /dev/null +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Validators/InclusionIn.php @@ -0,0 +1,59 @@ +getValue($attribute); + $domain = $this->getOption('domain'); + $msg = $this->getOption('message'); + if (!in_array($value, $domain)) { + $validator->appendMessage(new Message($msg, $attribute, 'InclusionIn')); + return false; + } + return true; + } +} diff --git a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php index 04325f4dd..eb19b9cf1 100644 --- a/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php +++ b/src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ModelRelationFieldTest.php @@ -86,7 +86,7 @@ class ModelRelationFieldTest extends Field_Framework_TestCase )); $field->eventPostLoading(); $field->setValue("5ea2a35c-b02b-485a-912b-d077e639bf9f,60e1bc02-6817-4940-bbd3-61d0cf439a8a"); - $this->assertEquals($this->validate($field), ['Phalcon\Filter\Validation\Validator\InclusionIn']); + $this->assertEquals($this->validate($field), ['InclusionIn']); } /** @@ -267,7 +267,7 @@ class ModelRelationFieldTest extends Field_Framework_TestCase )); $field->eventPostLoading(); $field->setValue("XX5ea2a35c-b02b-485a-912b-d077e639bf9f"); - $this->assertEquals($this->validate($field), ['Phalcon\Filter\Validation\Validator\InclusionIn']); + $this->assertEquals($this->validate($field), ['InclusionIn']); } /** @@ -324,7 +324,7 @@ class ModelRelationFieldTest extends Field_Framework_TestCase )); $field->eventPostLoading(); $field->setValue("4d0e2835-7a19-4a19-8c23-e12383827594,5ea2a35c-b02b-485a-912b-d077e639bf9f"); - $this->assertEquals($this->validate($field), ['Phalcon\Filter\Validation\Validator\InclusionIn']); + $this->assertEquals($this->validate($field), ['InclusionIn']); } /**