-
Robert Lange authored
* allow empty inputs in home address if checkbox for delivery_address is deactivated * set required attributes by javascript in new introduced user_delivery_address.js - except for line 2 * add new translation for checkbox label * code styles / add comments * add horizontal row as divider between user data sections
382e2565
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
HomeAddressField.php 2.14 KiB
<?php
/**
* Validator for users home address inputs
*
* PHP version 7
*
* Copyright (C) 2019 Leipzig University Library
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* @category VuFind
* @package Validator
* @author Sebastian Kehr <kehr@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development Wiki
*/
namespace fid_adlr\Validator;
use fid\InputFilter\RootAwareBaseInputFilter;
use Zend\Validator\AbstractValidator;
/**
* Validator for users home address inputs
*
* @category VuFind
* @package Validator
* @author Sebastian Kehr <kehr@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link https://vufind.org/wiki/development Wiki
*/
class HomeAddressField extends AbstractValidator
{
public const ERROR = 'error';
protected $messageTemplates
= [
self::ERROR => 'error_home_address_value',
];
/**
* Check if inputs are valid
*
* @param string $value current input value
* @param array|null $context all values
*
* @return bool
*/
public function isValid($value, array $context = null)
{
$values = $context[RootAwareBaseInputFilter::ROOT]->getValues();
$active = $values['data']['delivery_address'];
if (!$active) {
return true;
}
$valid = !empty($value);
if (!$valid) {
$this->error(self::ERROR);
}
return $valid;
}
}