本文整理汇总了PHP中Zend_Validate::addValidator方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Validate::addValidator方法的具体用法?PHP Zend_Validate::addValidator怎么用?PHP Zend_Validate::addValidator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Validate
的用法示例。
在下文中一共展示了Zend_Validate::addValidator方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initStatusValidator
/**
*
*/
protected function initStatusValidator()
{
$validator = new ZendValidator();
$validator->addValidator($this->getNotEmpty());
$validator->addValidator($this->getDigits());
$this->elements['status'] = $validator;
}
示例2: isValid
/**
* Make sure the user is valid
*
* @return void
*/
public function isValid($value)
{
$valid = true;
$this->_user = $value;
$namePartsValidator = new Zend_Validate();
$namePartsValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alpha(array('allowWhiteSpace' => true)))->addValidator(new Zend_Validate_StringLength(array('min' => 2)));
if (!$namePartsValidator->isValid($this->_user->getFirstName())) {
$valid = false;
$this->_error($this->_view->translate('The first name must have at least 2 characters and consist only of letters'));
}
if (!$namePartsValidator->isValid($this->_user->getLastName())) {
$valid = false;
$this->_error($this->_view->translate('The last name must have at least 2 characters and consist only of letters'));
}
$emailValidator = new Zend_Validate_EmailAddress();
if (!$emailValidator->isValid($this->_user->getEmail())) {
$valid = false;
$this->_error($this->_view->translate('You must entre a valid email'));
}
if ($this->_user->isNew()) {
$usernameValidator = new Zend_Validate();
$usernameValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alnum(array('allowWhiteSpace' => false)))->addValidator(new Zend_Validate_StringLength(array('min' => 5)));
if (!$usernameValidator->isValid($this->_user->getUsername())) {
$this->_error($this->_view->translate('The username must have at least 5 characters and contains no white spaces'));
}
}
return $valid;
}
示例3: testBreakChainOnFailure
/**
* Ensures that a validator may break the chain
*
* @return void
*/
public function testBreakChainOnFailure()
{
$this->_validator->addValidator(new Zend_ValidateTest_False(), true)->addValidator(new Zend_ValidateTest_False());
$this->assertFalse($this->_validator->isValid(null));
$this->assertEquals(array('validation failed'), $this->_validator->getMessages());
$this->assertEquals(array('error'), $this->_validator->getErrors());
}
示例4: mailAction
public function mailAction()
{
$error = array();
$posts = array('First Name' => $_POST['first_name'], 'Last Name' => $_POST['last_name'], 'Email' => $_POST['email'], 'Message' => $_POST['message']);
$validatorChain = new Zend_Validate();
$validatorChain->addValidator(new Zend_Validate_NotEmpty());
$valid_email = new Zend_Validate_EmailAddress();
if ($valid_email->isValid($posts['Email'])) {
} else {
foreach ($valid_email->getMessages() as $message) {
$error[] = "Email {$message}\n";
}
}
foreach ($posts as $key => $post) {
if ($validatorChain->isValid($post)) {
} else {
foreach ($validatorChain->getMessages() as $message) {
$error[] = "{$key} {$message}\n";
}
}
}
if (count($error) != 0) {
$this->view->alerts = $error;
} else {
$to = 'illustratedpdx@gmail.com';
$subject = 'Email from Illustrated Portland';
$message = $posts['Message'];
$headers = "From: {$posts['First Name']} {$posts['Last Name']} <{$posts['Email']}>";
mail($to, $subject, $message, $headers);
//$this->view->alerts = array("Thank You! Your message has been sent.");
}
}
示例5: _savePanel
/**
* Save changes to an existing panel. This can be expanded to allow adding of new Panels in the future.
*
* @return void
*/
protected function _savePanel()
{
// First of all we need to validate and sanitise the input from the form
$urlFilter = new Zend_Filter();
$urlFilter->addFilter(new Zend_Filter_StringTrim());
$urlFilter->addFilter(new Zend_Filter_StringTrim('/'));
$requiredText = new Zend_Validate();
$requiredText->addValidator(new Zend_Validate_NotEmpty());
$filters = array('id' => 'Digits');
$validators = array('id' => array('allowEmpty' => true), 'content' => array('allowEmpty' => true));
$input = new Zend_Filter_Input($filters, $validators, $_POST);
if ($input->isValid()) {
// Data is all valid, formatted and sanitized so we can save it in the database
$panel = new Datasource_Cms_Panels();
if (!$input->id) {
// This is a new panel so we need to create a new ID
// NOT IMPLEMENTED - YET
} else {
$panel->saveChanges($input->id, $input->getUnescaped('content'));
$panelID = $input->id;
}
// Changes saved - so send them back with a nice success message
$this->_helper->getHelper('FlashMessenger')->addMessage(array('saved' => true));
$this->_helper->getHelper('Redirector')->goToUrl('/cms-admin/panels/edit?id=' . $panelID);
} else {
// Invalid data in form
/*
print_r($_POST);
print_r($input->getErrors());
print_r($input->getInvalid());
*/
}
}
示例6: init
/**
* Initializes the form element.
*/
function init()
{
// set label
$this->setLabel('Email');
// set required
$this->setRequired(true);
// set filter
$this->addFilter('StringTrim');
// add validator for max string length
$this->addValidator('StringLength', false, array(0, 256));
// add validator for email addresses
$emailValidator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
$this->addValidator($emailValidator);
// add validator for beeing unique in the database
$validator = new Zend_Validate();
$message = 'The email is already in the database, please check if you are already registered.';
$userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'email');
$userTableValidator->setMessage($message);
if (!empty($this->_excludeId)) {
$userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId));
}
$registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'email');
$registrationTableValidator->setMessage($message);
// chainvalidators and add to field
$validator->addValidator($userTableValidator)->addValidator($registrationTableValidator);
$this->addValidator($validator);
}
示例7: init
/**
* Initializes the form element.
*/
function init()
{
$this->setLabel('Email');
// set required
$this->setRequired(true);
// set filter
$this->addFilter('StringTrim');
// add validator for max string length
$this->addValidator('StringLength', false, array(0, 256));
// add validator for email addresses
$this->addValidator('emailAddress');
// add validator for beeing unique in the database
$validator = new Zend_Validate();
$message = 'The email is already in the database, please check if you are already registered.';
$participantsTableValidator = new Meetings_Form_Validate_Email('Meetings_Participants', 'email');
$participantsTableValidator->setMessage($message);
$participantsTableValidator->setMeetingId($this->_meetingId);
if (!empty($this->_excludeId)) {
$participantsTableValidator->setExcludeId($this->_excludeId);
}
$registrationTableValidator = new Meetings_Form_Validate_Email('Meetings_Registration', 'email');
$registrationTableValidator->setMessage($message);
$registrationTableValidator->setMeetingId($this->_meetingId);
// chainvalidators and add to field
$validator->addValidator($participantsTableValidator)->addValidator($registrationTableValidator);
$this->addValidator($validator);
}
示例8: init
/**
* Initializes the form element.
*/
function init()
{
// set filter
$this->addFilter('StringTrim');
// set required
$this->setRequired(true);
// set label
$this->setLabel(ucfirst($this->getName()));
// set validator for lowercase or regular alnum
if (Daiquiri_Config::getInstance()->auth->lowerCaseUsernames) {
$this->addValidator(new Daiquiri_Form_Validator_LowerCaseAlnum());
} else {
$this->addValidator(new Daiquiri_Form_Validator_AlnumUnderscore());
}
// add validator for min and max string length
$minLength = Daiquiri_Config::getInstance()->auth->usernameMinLength;
$this->addValidator('StringLength', false, array($minLength, 256));
// add validator for beeing unique in the database
$validator = new Zend_Validate();
$message = 'The username is in use, please use another username.';
$userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'username');
$userTableValidator->setMessage($message);
if (!empty($this->_excludeId)) {
$userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId));
}
$registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'username');
$registrationTableValidator->setMessage($message);
$appTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Apps', 'appname');
$appTableValidator->setMessage($message);
$validator->addValidator($userTableValidator)->addValidator($registrationTableValidator)->addValidator($appTableValidator);
$this->addValidator($validator);
}
示例9: indexAction
public function indexAction()
{
$emailValidator = new Zend_Validate_EmailAddress();
$nameValidator = new Zend_Validate_NotEmpty(array(Zend_Validate_NotEmpty::STRING, Zend_Validate_NotEmpty::SPACE));
$password1_Validator = new Zend_Validate();
$password1_Validator->addValidator(new Zend_Validate_StringLength(array('min' => 6, 'max' => 12)))->addValidator(new Zend_Validate_Alnum());
$password2_Validator = new Zend_Validate();
$password2_Validator->addValidator(new Zend_Validate_StringLength(array('min' => 6, 'max' => 12)))->addValidator(new Zend_Validate_Alnum());
$captcha = new Zend_Captcha_Image();
$captcha->setName('captchaword')->setFont(APPLICATION_PATH . '/data/arial.ttf')->setFontSize(28)->setImgDir(APPLICATION_PATH . '/../public/img')->setImgUrl('/img')->setWordLen(5)->setDotNoiseLevel(20)->setExpiration(300);
$request = $this->getRequest();
$post = $request->getPost();
// $passwordIdentical = new Zend_Validate_Identical(array('token' => $post['password1']));
$messages = array();
$error = array();
$noValiError = true;
if ($this->getRequest()->isPost()) {
if (!$emailValidator->isValid($post['user-email'])) {
$error['user-emailVali'] = '請輸入正確的Email帳號';
$noValiError = false;
}
if (!$nameValidator->isValid($post['name'])) {
$error['nameVali'] = '姓名必填';
$noValiError = false;
}
if (!$password1_Validator->isValid($post['password1'])) {
$error['password1_Vali'] = '1.密碼長度需介於6~12之間,而且只能使用數字、英文';
$noValiError = false;
}
if (!$password2_Validator->isValid($post['password2'])) {
$error['password2_Vali'] = '1.密碼長度需介於6~12之間,而且只能使用數字、英文';
$noValiError = false;
}
if (isset($post['password1']) && isset($post['password2']) && !($post['password1'] == $post['password2'])) {
$error['passwordIdentical'] = '2.密碼輸入不同';
$noValiError = false;
}
if (!($post['agree'] == 1)) {
$error['agreeVali'] = '需同意服務條款及隱私權政策,才可以註冊';
$noValiError = false;
}
if (!$captcha->isValid($post['captchaword'])) {
$error['captchawordVali'] = '認證碼輸入錯誤';
$noValiError = false;
}
if ($noValiError) {
// register process
$this->_signup($post);
$this->view->messages = $post;
$this->redirect('index/index');
} else {
$this->_genCaptcha($captcha);
$this->view->error = $error;
$this->view->messages = $post;
}
} else {
$this->_genCaptcha($captcha);
}
}
示例10: __construct
/**
* Constructor.
*
* @param string $host OPTIONAL Hostname of remote connection (default: 127.0.0.1)
* @param integer $port OPTIONAL Port number (default: null)
* @throws Zend_Mail_Protocol_Exception
* @return void
*/
public function __construct($host = '127.0.0.1', $port = null)
{
$this->_validHost = new Zend_Validate();
$this->_validHost->addValidator(new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_ALL));
if (!$this->_validHost->isValid($host)) {
require_once 'Zend/Mail/Protocol/Exception.php';
throw new Zend_Mail_Protocol_Exception(join(', ', $this->_validHost->getMessages()));
}
$this->_host = $host;
$this->_port = $port;
}
示例11: __construct
public function __construct($arrParam = array(), $options = null)
{
//////////////////////////////////
//Kiem tra Name /////////////
//////////////////////////////////
if ($arrParam['action'] == 'add') {
$options = array('table' => 'da_album', 'field' => 'album_name');
} elseif ($arrParam['action'] == 'edit') {
$options = array('table' => 'da_album', 'field' => 'album_name', 'exclude' => array('field' => 'id', 'value' => $arrParam['id']));
}
$validator = new Zend_Validate();
$validator->addValidator(new Zend_Validate_NotEmpty(), true)->addValidator(new Zend_Validate_StringLength(3, 100), true);
if (!$validator->isValid($arrParam['album_name'])) {
$message = $validator->getMessages();
$this->_messageError['album_name'] = 'Tên album: ' . current($message);
$arrParam['album_name'] = '';
}
//////////////////////////////////
//Kiem tra Picture small ///////////
//////////////////////////////////
$upload = new Zend_File_Transfer_Adapter_Http();
$fileInfo = $upload->getFileInfo('picture');
$fileName = $fileInfo['picture']['name'];
if (!empty($fileName)) {
$upload->addValidator('Extension', true, array('jpg', 'gif', 'png'), 'picture');
$upload->addValidator('Size', true, array('min' => '2KB', 'max' => '1000KB'), 'picture');
if (!$upload->isValid('picture')) {
$message = $upload->getMessages();
$this->_messageError['picture'] = 'Hình ảnh đại diện: ' . current($message);
}
}
//////////////////////////////////
//Kiem tra Order /////////////
//////////////////////////////////
$validator = new Zend_Validate();
$validator->addValidator(new Zend_Validate_StringLength(1, 10), true)->addValidator(new Zend_Validate_Digits(), true);
if (!$validator->isValid($arrParam['order'])) {
$message = $validator->getMessages();
$this->_messageError['order'] = 'Sắp xếp: ' . current($message);
$arrParam['order'] = '';
}
//////////////////////////////////
//Kiem tra Status /////////////
//////////////////////////////////
if (empty($arrParam['status']) || !isset($arrParam['status'])) {
$arrParam['status'] = 0;
}
//========================================
// TRUYEN CAC GIA TRI DUNG VAO MANG $_arrData
//========================================
$this->_arrData = $arrParam;
}
示例12: __construct
public function __construct()
{
$idValidator = new Zend_Validate();
$idValidator->addValidator(new Zend_Validate_StringLength(array('min' => 3)));
$idValidator->addValidator(new Zend_Validate_Regex('/^[A-Za-z0-9\\/:_]+$/'));
$resourceValidator = new Zend_Validate();
$resourceValidator->addValidator(new Zend_Validate_StringLength(array('min' => 8)));
$resourceValidator->addValidator(new Zend_Validate_Regex('/^[A-Z]+[a-z0-9]{1,}_[A-Z]+[A-Z0-9a-z]{1,}::[A-Za-z_0-9]{1,}$/'));
$attributeValidator = new Zend_Validate();
$attributeValidator->addValidator(new Zend_Validate_StringLength(array('min' => 3)));
$attributeValidator->addValidator(new Zend_Validate_Regex('/^[A-Za-z0-9\\/_]+$/'));
$textValidator = new Zend_Validate_StringLength(array('min' => 3, 'max' => 50));
$titleValidator = $tooltipValidator = $textValidator;
$actionValidator = $moduleDepValidator = $configDepValidator = $attributeValidator;
$this->_validators['id'] = $idValidator;
$this->_validators['title'] = $titleValidator;
$this->_validators['action'] = $actionValidator;
$this->_validators['resource'] = $resourceValidator;
$this->_validators['dependsOnModule'] = $moduleDepValidator;
$this->_validators['dependsOnConfig'] = $configDepValidator;
$this->_validators['toolTip'] = $tooltipValidator;
}
示例13: addRule
/**
* Add rule to be applied to a validation scope
*
* @param \Zend_Validate_Interface $validator
* @param string $fieldName Field name to apply validation to, or empty value to validate entity as a whole
* @return \Magento\Framework\Validator\DataObject
* @api
*/
public function addRule(\Zend_Validate_Interface $validator, $fieldName = '')
{
if (!array_key_exists($fieldName, $this->_rules)) {
$this->_rules[$fieldName] = $validator;
} else {
$existingValidator = $this->_rules[$fieldName];
if (!$existingValidator instanceof \Zend_Validate) {
$compositeValidator = new \Zend_Validate();
$compositeValidator->addValidator($existingValidator);
$this->_rules[$fieldName] = $compositeValidator;
}
$this->_rules[$fieldName]->addValidator($validator);
}
return $this;
}
示例14: isValidText
public function isValidText($value, $maxLenghtValue)
{
$validator = new Zend_Validate();
// Create a validator chain and add validators to it
$validator->addValidator(new Zend_Validate_NotEmpty())->addValidator(new Zend_Validate_StringLength(1, $maxLenghtValue));
// Validate the value
if ($validator->isValid($value)) {
return true;
} else {
// value failed validation; print reasons
foreach ($validator->getMessages() as $message) {
return array('Error' => $message);
}
}
}
示例15: setColumnValidators
/**
* Attach a Zend_Validate validator chain to a field
*
* @param string $field
* @param array $validators Array of Zend_Validate
*/
protected function setColumnValidators($field, array $validators) {
$validate = new Zend_Validate();
foreach ($validators as $validator) {
$validate->addValidator($validator);
}
$extra = $this->getColumnOption($field, 'extra');
$options = array('validators' => $validators, 'validate' => $validate);
if (is_array($extra)) {
$extra = array_merge($extra, $options);
} elseif ($extra === null) {
$extra = $options;
} else {
throw new Doctrine_Record_Exception("Column '%s' 'extra' option is neighter an array nor NULL, don't know what to do.", Doctrine_Core::ERR_UNSUPPORTED);
}
$this->setColumnOption($field, 'extra', $extra);
}