Source of file GACodeField.php
Size: 1,193 Bytes - Last Modified: 2021-12-24T06:40:31+00:00
/var/www/docs.ssmods.com/process/src/src/formfields/GACodeField.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | <?php namespace Chrometoaster\GA_GTM\Formfields; use SilverStripe\Forms\TextField; /** * Class GACodeField */ class GACodeField extends TextField { /** * @return string */ public function Type() { return 'text'; } /** * Simple validation to make sure the input matches the expected pattern. * * @param $validator * @return bool */ public function validate($validator) { // No value set so accept if (empty($this->value)) { return true; } else { $parts = explode("-", $this->value); } if ($parts[0] === "GTM" && (mb_strlen($parts[1]) >= 4) && (mb_strlen($parts[1]) <= 8)) { return true; } else if (($parts[0] === "UA") && (mb_strlen($parts[1]) >= 8 && mb_strlen($parts[1]) < 10) && (mb_strlen($parts[2]) >= 1 && mb_strlen($parts[2]) < 3)) { return true; } else { $validator->validationError($this->name, "ERROR: This isn't a valid Universal or Tag Manager code. Must be in either UA-XXXXXXXX-X or GTM-XXXXXX format.", "validation"); } return false; } } |