protected function init() { parent::init(); $this->setMessage(self::ERROR_REQUIRED, _w('%subject% URL must not be empty')); $this->setMessage(self::ERROR_URL_IN_USE, _w('%subject% URL is in use. Please enter another URL')); $this->setMessage(self::ERROR_INVALID, _w('%subject% URL is invalid')); }
public function isValid($value) { parent::isValid($value); if (!$this->isEmpty($value)) { $pattern = $this->getPattern(); if (!preg_match($pattern, $value)) { $this->setError($this->getMessage('not_match', array('value' => $value))); } } return $this->getErrors() ? false : true; }
public function validate(&$data) { $messages = array(); $new_route_setup = waRequest::post('new_route_setup', 0, waRequest::TYPE_INT); $route_enabled = waRequest::post('route_enabled', 0, waRequest::TYPE_INT); $no_settlement = $new_route_setup && !$route_enabled; if ($data['status'] != blogBlogModel::STATUS_PRIVATE && !$no_settlement) { if (isset($data['id'])) { $url_validator = new blogSlugValidator(array('id' => $data['id'])); } else { $url_validator = new blogSlugValidator(); } $url_validator->setSubject(blogSlugValidator::SUBJECT_BLOG); $name_validator = new waStringValidator(array('max_length' => 255, 'required' => true), array('required' => _w('Blog name must not be empty'))); if (!$url_validator->isValid($data['url'])) { $messages['blog_url'] = current($url_validator->getErrors()); } if (!$name_validator->isValid($data['name'])) { $messages['blog_name'] = current($name_validator->getErrors()); } } else { $blog_model = new blogBlogModel(); if (!$data['id']) { $data['url'] = $blog_model->genUniqueUrl($data['name']); } else { $url = $blog_model->select('url')->where('id = i:id', array('id' => $data['id']))->fetchField('url'); $data['url'] = $url ? $url : $blog_model->genUniqueUrl($data['name']); } } /** * @event blog_validate * @param array[string]mixed $data * @param array['plugin']['%plugin_id%']mixed plugin data * @return array['%plugin_id%']['field']string error */ $messages['plugin'] = wa()->event('blog_validate', $data); if (empty($messages['plugin'])) { unset($messages['plugin']); } return $messages; }
public function validate(&$data) { $messages = array(); $no_settlement = waRequest::post('no_settlement', 0, waRequest::TYPE_INT); if ($data['status'] != blogBlogModel::STATUS_PRIVATE && !$no_settlement) { if (isset($data['id'])) { $url_validator = new blogSlugValidator(array('id' => $data['id'])); } else { $url_validator = new blogSlugValidator(); } $url_validator->setSubject(blogSlugValidator::SUBJECT_BLOG); $name_validator = new waStringValidator(array('max_length' => 255, 'required' => true), array('required' => _w('Blog name must not be empty'))); if (!$url_validator->isValid($data['url'])) { $messages['blog_url'] = current($url_validator->getErrors()); } if (!$name_validator->isValid($data['name'])) { $messages['blog_name'] = current($name_validator->getErrors()); } } else { $blog_model = new blogBlogModel(); if (!$data['id']) { $data['url'] = $blog_model->genUniqueUrl($data['name']); } else { $url = $blog_model->select('url')->where('id = i:id', array('id' => $data['id']))->fetchField('url'); $data['url'] = $url ? $url : $blog_model->genUniqueUrl($data['name']); } } return $messages; }
<?php return array(0 => waContactAddressField::__set_state(array('id' => 'address', 'options' => array('multi' => true, 'ext' => array('work' => 'work', 'home' => 'home', 'shipping' => 'shipping', 'billing' => 'billing'), 'storage' => 'data', 'fields' => array('region' => waContactRegionField::__set_state(array('rm' => NULL, 'id' => 'region', 'options' => array('storage' => 'data'), 'name' => array('en_US' => 'State'), '_type' => 'waContactRegionField')), 'city' => waContactStringField::__set_state(array('id' => 'city', 'options' => array('storage' => 'data', 'validators' => waStringValidator::__set_state(array('messages' => array('required' => 'Нужно заполнить', 'invalid' => 'Неверно', 'max_length' => 'Пожалуйста, не более 0 символов', 'min_length' => 'Пожалуйста, не менее 0 символов'), 'options' => array('required' => false, 'storage' => 'data'), 'errors' => array(), '_type' => 'waStringValidator'))), 'name' => array('en_US' => 'City'), '_type' => 'waContactStringField')), 'street' => waContactStringField::__set_state(array('id' => 'street', 'options' => array('storage' => 'data', 'validators' => waStringValidator::__set_state(array('messages' => array('required' => 'Нужно заполнить', 'invalid' => 'Неверно', 'max_length' => 'Пожалуйста, не более 0 символов', 'min_length' => 'Пожалуйста, не менее 0 символов'), 'options' => array('required' => false, 'storage' => 'data'), 'errors' => array(), '_type' => 'waStringValidator'))), 'name' => array('en_US' => 'Street address'), '_type' => 'waContactStringField')), 'zip' => waContactStringField::__set_state(array('id' => 'zip', 'options' => array('storage' => 'data', 'validators' => waStringValidator::__set_state(array('messages' => array('required' => 'Нужно заполнить', 'invalid' => 'Неверно', 'max_length' => 'Пожалуйста, не более 0 символов', 'min_length' => 'Пожалуйста, не менее 0 символов'), 'options' => array('required' => false, 'storage' => 'data'), 'errors' => array(), '_type' => 'waStringValidator'))), 'name' => array('en_US' => 'ZIP'), '_type' => 'waContactStringField')), 'lng' => waContactHiddenField::__set_state(array('id' => 'lng', 'options' => array('storage' => 'data'), 'name' => array('en_US' => 'Longitude'), '_type' => 'waContactHiddenField')), 'lat' => waContactHiddenField::__set_state(array('id' => 'lat', 'options' => array('storage' => 'data'), 'name' => array('en_US' => 'Latitude'), '_type' => 'waContactHiddenField')), 'country' => waContactCountryField::__set_state(array('model' => NULL, 'validate_range' => true, 'id' => 'country', 'options' => array('defaultOption' => 'Select country', 'storage' => 'data', 'formats' => array('value' => waContactCountryFormatter::__set_state(array('_type' => 'waContactCountryFormatter', 'options' => NULL)))), 'name' => array('en_US' => 'Country'), '_type' => 'waContactCountryField'))), 'formats' => array('js' => waContactAddressOneLineFormatter::__set_state(array('_type' => 'waContactAddressOneLineFormatter', 'options' => NULL)), 'forMap' => waContactAddressForMapFormatter::__set_state(array('_type' => 'waContactAddressForMapFormatter', 'options' => NULL))), 'required' => array(), 'allow_self_edit' => false, 'unique' => false), 'name' => array('en_US' => 'Address'), '_type' => 'waContactAddressField')));