Source of file Validator.php
Size: 1,485 Bytes - Last Modified: 2021-12-23T10:38:03+00:00
/var/www/docs.ssmods.com/process/src/code/Model/EditableFormField/Validator.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php namespace SilverStripe\UserForms\Model\EditableFormField; use SilverStripe\Forms\RequiredFields; use SilverStripe\UserForms\Model\EditableCustomRule; class Validator extends RequiredFields { /** * * @var EditableFormField */ protected $record = null; /** * * @param EditableFormField $record * @return $this */ public function setRecord($record) { $this->record = $record; return $this; } /* * @return EditableFormField */ public function getRecord() { return $this->record; } public function php($data) { if (!parent::php($data)) { return false; } // Skip unsaved records if (!$this->record || !$this->record->exists()) { return true; } // Skip validation if not required if (empty($data['Required'])) { return; } // Skip validation if no rules $count = EditableCustomRule::get()->filter('ParentID', $this->record->ID)->count(); if ($count == 0) { return true; } // Both required = true and rules > 0 should error $this->validationError( 'Required_Error', _t( __CLASS__.'.REQUIRED_ERROR', 'Form fields cannot be required and have conditional display rules.' ), 'error' ); return false; } } |