コード例 #1
0
ファイル: Save.php プロジェクト: AlexEvesDeveloper/hl-stuff
 public function init()
 {
     $this->setMethod('post');
     //The password element.
     $passwordElement = new Zend_Form_Element_Password('password');
     $passwordElement->setRequired(true);
     $passwordElement->setLabel('New Password:'******'confirm_password');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement->addValidator($validator);
     $this->addElement($passwordElement);
     //The confirm password element.
     $confirmPasswordElement = new Zend_Form_Element_Password('confirm_password');
     $confirmPasswordElement->setRequired(true);
     $confirmPasswordElement->setLabel('Confirm New Password:'******'Please confirm your password');
     $confirmPasswordElement->addValidator($validator);
     $this->addElement($confirmPasswordElement);
     // Security question & answer
     $this->addElement('select', 'security_question', array('label' => 'Security Question', 'required' => true, 'multiOptions' => array(0 => 'Please select'), 'decorators' => array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false)))));
     $this->addElement('text', 'security_answer', array('label' => 'Answer', 'required' => true, 'filters' => array('StringTrim'), 'attribs' => array('data-ctfilter' => 'yes')));
     $this->addElement('hidden', 'instruction', array('required' => false));
     $this->addElement('submit', 'submit', array('ignore' => true, 'label' => 'Save', 'class' => 'button'));
     $this->setElementDecorators(array('ViewHelper', 'Label', 'Errors', array('HtmlTag', array('tag' => 'div'))));
     // Set up the decorator on the form and add in decorators which are removed
     $this->addDecorator('FormElements')->addDecorator('HtmlTag', array('tag' => 'div', 'class' => 'form_section one-col'))->addDecorator('Form');
     $element = $this->getElement('submit');
     $element->removeDecorator('label');
     // Remove the label from the submit button
 }
コード例 #2
0
 /**
  * Create user details form (single user).
  *
  * @return void
  */
 public function init()
 {
     // Invoke the agent user manager
     $agentUserManager = new Manager_Core_Agent_User();
     // Create array of possible security questions
     $securityQuestions = array('' => '--- please select ---');
     $securityQuestions += $agentUserManager->getUserSecurityAllQuestions();
     // Add real name element
     $this->addElement('text', 'realname', array('label' => 'Full name', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your full name', 'notEmptyInvalid' => 'Please enter your full name'))), array('regex', true, array('pattern' => '/^[a-z\\-\\ \']{2,}$/i', 'messages' => 'Name must contain at least two alphabetic characters and only basic punctuation (hyphen, space and single quote)')))));
     // Add username element
     $this->addElement('text', 'username', array('label' => 'Username', 'required' => false, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your username', 'notEmptyInvalid' => 'Please enter your username'))), array('regex', true, array('pattern' => '/^[a-z0-9]{1,64}$/i', 'messages' => 'Username must contain between 1 and 64 alphanumeric characters')))));
     if ($this->_role == Model_Core_Agent_UserRole::MASTER) {
         $this->getElement('username')->setRequired(true);
     } else {
         $this->getElement('username')->setAttrib('disabled', 'disabled');
     }
     // Add password1 element
     $passwordElement1 = new Zend_Form_Element_Password('password1');
     $passwordElement1->setRequired(false);
     $passwordElement1->setLabel('New password:'******'password2');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement1->addValidator($validator);
     $passwordElement2 = new Zend_Form_Element_Password('password2');
     $passwordElement2->setRequired(false);
     $passwordElement2->setLabel('New password (again)');
     $this->addElement($passwordElement2);
     // Add e-mail element
     $this->addElement('text', 'email', array('label' => 'E-mail address', 'required' => false, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your e-mail address'))))));
     $emailValidator = new Zend_Validate_EmailAddress();
     $emailValidator->setMessages(array(Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Domain name invalid in e-mail address', Zend_Validate_EmailAddress::INVALID_FORMAT => 'Invalid e-mail address'));
     $this->getElement('email')->addValidator($emailValidator);
     if ($this->_role == Model_Core_Agent_UserRole::MASTER) {
         $this->getElement('email')->setRequired(true);
     } else {
         $this->getElement('email')->setAttrib('disabled', 'disabled');
     }
     // Add e-mail element
     $this->addElement('text', 'emailcopyto', array('label' => 'Copy e-mail to', 'required' => false, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter a copy-to e-mail address'))))));
     $emailCopyToValidator = new Zend_Validate_EmailAddress();
     $emailCopyToValidator->setMessages(array(Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Domain name invalid in copy-to e-mail address', Zend_Validate_EmailAddress::INVALID_FORMAT => 'Invalid copy-to e-mail address'));
     $this->getElement('emailcopyto')->addValidator($emailCopyToValidator);
     // Add security question element
     $this->addElement('select', 'question', array('label' => 'Security question', 'required' => false, 'multiOptions' => $securityQuestions));
     // Add security answer element
     $this->addElement('text', 'answer', array('label' => 'Security answer', 'required' => false, 'filters' => array('StringTrim'), 'validators' => array(array('regex', true, array('pattern' => '/^[\\w\\ \\.\\-\'\\,]{2,}$/i', 'messages' => 'Security answer must contain at least two characters and only basic punctuation (hyphen, apostrophe, comma, full stop and space)')))));
     // Add master user element
     $this->addElement('checkbox', 'master', array('label' => 'Master user', 'required' => false, 'checkedValue' => '1', 'uncheckedValue' => '0'));
     // Add agent reports element
     $this->addElement('checkbox', 'reports', array('label' => 'Agent reports', 'required' => false, 'checkedValue' => '1', 'uncheckedValue' => '0'));
     // Add status element
     $this->addElement('checkbox', 'status', array('label' => 'Active', 'required' => false, 'checkedValue' => '1', 'uncheckedValue' => '0'));
     // Set custom subform decorator
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'settings/subforms/useraccount.phtml', 'role' => $this->_role))));
     $this->setElementFilters(array('StripTags'));
     $this->setElementDecorators(array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))));
 }
コード例 #3
0
 public static function overridePasswordIdenticalValidator($p_matchAgainst)
 {
     $validator = new Zend_Validate_Identical();
     $validator->setToken($p_matchAgainst);
     $validator->setMessage(_("Passwords do not match"), Zend_Validate_Identical::NOT_SAME);
     return $validator;
 }
コード例 #4
0
 /**
  * Adds validation rule for user password confirmation
  *
  * @param \Magento\Framework\Validator\DataObject $validator
  * @param string $passwordConfirmation
  * @return \Magento\Framework\Validator\DataObject
  */
 public function addPasswordConfirmationRule(\Magento\Framework\Validator\DataObject $validator, $passwordConfirmation)
 {
     $passwordConfirmation = new \Zend_Validate_Identical($passwordConfirmation);
     $passwordConfirmation->setMessage(__('Your password confirmation must match your password.'), \Zend_Validate_Identical::NOT_SAME);
     $validator->addRule($passwordConfirmation, 'password');
     return $validator;
 }
コード例 #5
0
ファイル: Membre.php プロジェクト: romainnext/ZFTwitter
 public function init()
 {
     $this->setAttrib('class', 'form-horizontal');
     $login = new Zend_Form_Element_Text('login');
     $login->setRequired()->addValidator('StringLength', false, array('max' => 32))->setLabel('Nom d\'utilisateur');
     $db = Zend_Db_Table::getDefaultAdapter();
     $validator = new Zend_Validate_Db_NoRecordExists(array('adapter' => $db, 'schema' => 'twitter', 'table' => 'membre', 'field' => 'login'));
     $validator->setMessage("Le login '%value%' est déjà utilisé");
     $login->addValidator($validator);
     $pass = new Zend_Form_Element_Password('pass');
     $pass->setLabel('Mot de passe')->setRequired();
     $passConfirm = new Zend_Form_Element_Password('confirm');
     $passConfirm->setLabel('Confirmer le mot de passe');
     $validator = new Zend_Validate_Identical('pass');
     $validator->setMessage('La confirmation ne correspond pas au mot de passe');
     $passConfirm->addValidator($validator);
     //$passConfirm->addValidator('Identical', false, array('token'));
     $hash = new Zend_Form_Element_Hash('hash');
     $submit = new Zend_Form_Element_Submit('Inscription');
     $cancel = new Zend_Form_Element_Button('Annuler');
     $this->addElements(array($login, $pass, $passConfirm, $hash, $submit, $cancel));
     // add display group
     $this->addDisplayGroup(array('login', 'pass', 'confirm', 'Inscription', 'Annuler'), 'users');
     $this->getDisplayGroup('users')->setLegend('S\'inscrire');
     // set decorators
     EasyBib_Form_Decorator::setFormDecorator($this, EasyBib_Form_Decorator::BOOTSTRAP, 'Inscription', 'Annuler');
 }
コード例 #6
0
 /**
  * Initializes the form element.
  */
 function init()
 {
     parent::init();
     // set label
     $this->setLabel('Confirm password');
     // add validataor for comparison with NewPassword element
     $newPassword = Zend_Controller_Front::getInstance()->getRequest()->getParam('new_password');
     $validator = new Zend_Validate_Identical($newPassword);
     $validator->setMessage("The passwords do not match.");
     $this->addValidator($validator);
 }
コード例 #7
0
 public function init()
 {
     // Set request method
     $this->setMethod('post');
     // Email entry
     $this->addElement('span', 'email', array('label' => 'Email address', 'required' => false, 'filters' => array('StringTrim'), 'class' => 'formvalue', 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your email address'))))));
     // Modify email error messages & add validator
     $emailValidator = new Zend_Validate_EmailAddress();
     $emailValidator->setMessages(array(Zend_Validate_EmailAddress::INVALID_HOSTNAME => "Domain name invalid in email address", Zend_Validate_EmailAddress::INVALID_FORMAT => "Invalid email address"));
     $this->getElement('email')->addValidator($emailValidator);
     //The password element.
     $passwordElement = new Zend_Form_Element_Password('password');
     $passwordElement->setRequired(true);
     $passwordElement->setLabel('Create your password');
     $passwordElement->setOptions(array('data-noAjaxValidate' => '1'));
     $passwordElement->addValidator(new Zend_Validate_PasswordStrength());
     $validator = new Zend_Validate_Identical();
     $validator->setToken('confirm_password');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement->addValidator($validator);
     $this->addElement($passwordElement);
     //The confirm password element.
     $confirmPasswordElement = new Zend_Form_Element_Password('confirm_password');
     $confirmPasswordElement->setRequired(true);
     $confirmPasswordElement->setLabel('Re-enter password');
     $confirmPasswordElement->setOptions(array('data-noAjaxValidate' => '1'));
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please confirm your password');
     $confirmPasswordElement->addValidator($validator);
     $this->addElement($confirmPasswordElement);
     // Security question & answer
     $securityQuestionModel = new Datasource_Core_SecurityQuestion();
     $securityQuestionOptions = array(0 => '- Please Select -');
     foreach ($securityQuestionModel->getOptions() as $option) {
         $securityQuestionOptions[$option['id']] = $option['question'];
     }
     $this->addElement('select', 'security_question', array('label' => 'Security Question', 'required' => false, 'multiOptions' => $securityQuestionOptions, 'decorators' => array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false)))));
     /* Value no longer mandatory, Redmine #11873
             $questionElement = $this->getElement('security_question');
             $validator = new Zend_Validate_GreaterThan(array('min'=> 0));
             $validator->setMessage('You must select a security question');
             $questionElement->addValidator($validator);
     */
     $this->addElement('text', 'security_answer', array('label' => 'Answer', 'required' => false, 'filters' => array('StringTrim')));
     // Set custom subform decorator - this is the default and gets overridden by view scripts in the tenants' and landlords' Q&Bs
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'subforms/register.phtml'))));
     // Set element decorators
     $this->setElementDecorators(array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))));
     // Grab view and add the client-side password validation JavaScript into the page head
     $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
     $view->headScript()->appendFile('/assets/common/js/passwordValidation.js', 'text/javascript');
 }
コード例 #8
0
 protected function setUp()
 {
     $this->_model = new \Magento\Framework\Validator\Object();
     $fieldOneExactValue = new \Zend_Validate_Identical('field_one_value');
     $fieldOneExactValue->setMessage("'field_one' does not match expected value");
     $fieldOneLength = new \Zend_Validate_StringLength(['min' => 10]);
     $fieldTwoExactValue = new \Zend_Validate_Identical('field_two_value');
     $fieldTwoExactValue->setMessage("'field_two' does not match expected value");
     $fieldTwoLength = new \Zend_Validate_StringLength(['min' => 5]);
     $entityValidity = new \Zend_Validate_Callback([$this, 'isEntityValid']);
     $entityValidity->setMessage('Entity is not valid.');
     $this->_model->addRule($fieldOneLength, 'field_one')->addRule($fieldOneExactValue, 'field_one')->addRule($fieldTwoLength, 'field_two')->addRule($fieldTwoExactValue, 'field_two')->addRule($entityValidity);
 }
コード例 #9
0
 /**
  * Initialise the form
  * 
  * @todo Validation
  * @return void 
  */
 public function init()
 {
     // Set request method
     $this->setMethod('POST');
     // Add title element
     $this->addElement('select', 'title', array('label' => 'Title', 'required' => true, 'multiOptions' => TenantsInsuranceQuote_Form_Subforms_PersonalDetails::$titles, 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please select your title', 'notEmptyInvalid' => 'Please select your title')))), 'class' => 'form-control'));
     // Add first name element
     $this->addElement('text', 'first_name', array('label' => 'First name', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your first name', 'notEmptyInvalid' => 'Please enter your first name'))), array('regex', true, array('pattern' => '/^[a-z\\-\\ \']{2,}$/i', 'messages' => 'First name must contain at least two alphabetic characters and only basic punctuation (hyphen, space and single quote)'))), 'class' => 'form-control'));
     // Add last name element
     $this->addElement('text', 'last_name', array('label' => 'Last name', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your last name'))), array('regex', true, array('pattern' => '/^[a-z\\-\\ \']{2,}$/i', 'messages' => 'Last name must contain at least two alphabetic characters and only basic punctuation (hyphen, space and single quote)'))), 'class' => 'form-control'));
     // Email element
     $this->addElement('text', 'email', array('label' => 'Email Address', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Email address is required')))), 'class' => 'form-control'));
     // Modify email error messages & add validator
     $emailValidator = new Zend_Validate_EmailAddress();
     $emailValidator->setMessages(array(Zend_Validate_EmailAddress::INVALID_HOSTNAME => "Domain name invalid in email address", Zend_Validate_EmailAddress::INVALID_FORMAT => "Invalid email address"));
     $this->getElement('email')->addValidator($emailValidator);
     //The password element.
     $passwordElement = new Zend_Form_Element_Password('password', array('validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Password is required')))), 'class' => 'form-control'));
     $passwordElement->setRequired(true);
     $passwordElement->setLabel('Password');
     $passwordElement->setAttribs(array('class' => 'form-control'));
     $passwordElement->addValidator(new Zend_Validate_PasswordStrength());
     $validator = new Zend_Validate_Identical();
     $validator->setToken('confirm_password');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement->addValidator($validator);
     $this->addElement($passwordElement);
     //The confirm password element.
     $confirmPasswordElement = new Zend_Form_Element_Password('confirm_password');
     $confirmPasswordElement->setRequired(true);
     $confirmPasswordElement->setLabel('Confirm Password');
     $confirmPasswordElement->setAttribs(array('class' => 'form-control'));
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please confirm your password');
     $confirmPasswordElement->addValidator($validator);
     $this->addElement($confirmPasswordElement);
     // Security question & answer
     $this->addElement('select', 'security_question', array('label' => 'Security Question', 'required' => true, 'multiOptions' => array('' => 'Please select'), 'decorators' => array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Security question is required')))), 'class' => 'form-control'));
     $this->addElement('text', 'security_answer', array('label' => 'Answer', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Security answer is required')))), 'class' => 'form-control'));
     $this->addElement('hidden', 'refno', array('required' => false, 'class' => 'noalt'));
     // Add the submit button
     $this->addElement('submit', 'submit', array('ignore' => true, 'label' => 'Register', 'class' => 'btn btn-primary pull-right'));
     // Set up the element decorators
     $this->setElementDecorators(array('ViewHelper', 'Label', 'Errors'));
     // Set up the decorator on the form and add in decorators which are removed
     $this->addDecorator('FormElements')->addDecorator('HtmlTag', array('tag' => 'div', 'class' => 'form_section'))->addDecorator('Form');
     // Remove the label from the submit button
     $element = $this->getElement('submit');
     $element->removeDecorator('label');
     $this->getElement('refno')->removeDecorator('HtmlTag');
 }
コード例 #10
0
ファイル: Profile.php プロジェクト: varvanin/currycms
 /**
  * Profile form.
  *
  * @param User $user
  * @return Curry_Form
  */
 private function getForm(User $user)
 {
     $form = new Curry_Form(array('action' => url('', array("module", "view")), 'method' => 'post', 'elements' => array('name' => array('text', array('label' => 'Username', 'required' => true, 'value' => $user->getName())), 'old_password' => array('password', array('label' => 'Password', 'description' => 'You can leave this blank if you dont wish to change password.')), 'password' => array('password', array('label' => 'New password')), 'password_confirm' => array('password', array('label' => 'Confirm password')), 'save' => array('submit', array('label' => 'Save')))));
     if (isPost() && ($_POST['old_password'] || $_POST['password'] || $_POST['password_confirm'])) {
         $form->old_password->setRequired(true);
         $form->password->setRequired(true);
         $form->password_confirm->setRequired(true);
         $form->old_password->addValidator(new Curry_Validate_Password($user));
         $identical = new Zend_Validate_Identical($_POST['password']);
         $identical->setMessage('Passwords do not match.');
         $form->password_confirm->addValidator($identical);
     }
     return $form;
 }
コード例 #11
0
 /**
  * Initialise the form
  * 
  * @todo Validation
  * @return void 
  */
 public function init()
 {
     // Set request method
     $this->setMethod('POST');
     // Add title element
     $this->addElement('text', 'title', array('label' => 'Title'));
     // Add first name element
     $this->addElement('text', 'first_name', array('label' => 'First name'));
     // Add last name element
     $this->addElement('text', 'last_name', array('label' => 'Last name'));
     $this->addElement('password', 'existing_password', array('required' => true, 'filters' => array('StringTrim'), 'class' => 'form-control'));
     // Email element
     $this->addElement('text', 'email', array('label' => 'Email Address'));
     //The password element.
     $passwordElement = new Zend_Form_Element_Password('password');
     $passwordElement->setRequired(false);
     // New password is not required to update options
     $passwordElement->addValidator(new Zend_Validate_PasswordStrength());
     $passwordElement->setAttribs(array('class' => 'form-control'));
     $validator = new Zend_Validate_Identical();
     $validator->setToken('confirm_password');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement->addValidator($validator);
     $this->addElement($passwordElement);
     //The confirm password element.
     $confirmPasswordElement = new Zend_Form_Element_Password('confirm_password');
     $confirmPasswordElement->setRequired(false);
     // New password is not required to update options
     $confirmPasswordElement->setAttribs(array('class' => 'form-control'));
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please confirm your password');
     $confirmPasswordElement->addValidator($validator);
     $this->addElement($confirmPasswordElement);
     // Security question & answer
     $this->addElement('select', 'security_question', array('required' => true, 'multiOptions' => array(0 => 'Please select'), 'decorators' => array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))), 'class' => 'form-control'));
     $this->addElement('text', 'security_answer', array('required' => true, 'filters' => array('StringTrim'), 'class' => 'form-control'));
     // Add the submit button
     $this->addElement('submit', 'submit', array('ignore' => true, 'class' => 'btn btn-primary pull-right', 'label' => 'Save'));
     // Set up the element decorators
     $this->setElementDecorators(array('ViewHelper', 'Label', 'Errors', array('HtmlTag', array('tag' => 'div'))));
     // Set up the decorator on the form and add in decorators which are removed
     $this->addDecorator('FormElements')->addDecorator('HtmlTag', array('tag' => 'div', 'class' => 'form_section one-col'))->addDecorator('Form');
     // Set custom subform decorator
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'subforms/edit-account.phtml'))));
     // Remove the label from the submit button
     $element = $this->getElement('submit');
     $element->removeDecorator('label');
 }
コード例 #12
0
ファイル: Csrf.php プロジェクト: vrtulka23/daiquiri
 /**
  * Initializes the form element
  */
 function init()
 {
     // get session
     $session = new Zend_Session_Namespace('csrf');
     // this element is required
     $this->setRequired(true);
     // this element will be ignored when getting the values from the form
     $this->setIgnore(true);
     // set the value to the stored hash
     $this->setValue($session->hash);
     // create the corresponding validator
     $validator = new Zend_Validate_Identical($session->hash);
     $validator->setMessage('The CSRF token is not valid. Please refresh the page.');
     $this->addValidator($validator);
     // set decorators
     $this->setDecorators(array('ViewHelper', 'Errors'));
     $this->getDecorator('Errors')->setOptions(array('class' => 'daiquiri-form-error unstyled text-error'));
 }
コード例 #13
0
ファイル: Account.php プロジェクト: niavok/syj
 public function init()
 {
     $formErrors = $this->getView()->getHelper('FormErrors');
     $formErrors->setElementStart("<div%s>")->setElementEnd("</div>")->setElementSeparator("<br>");
     $validator = new Syj_Validate_EmailAddress();
     $email = array('Text', 'account_email', array('label' => __("email"), 'validators' => array($validator), 'maxlength' => '320', 'required' => true));
     $passValidator = new Zend_Validate_StringLength(6);
     $passValidator->setMessage(vsprintf($this->getTranslator()->translate("At least %d characters"), 6));
     $pass = array('Password', 'account_password', array('label' => __("password"), 'required' => true, 'validators' => array($passValidator)));
     $identicalValidator = new Zend_Validate_Identical('account_password');
     $identicalValidator->setMessage(__("Password do not match"));
     $pass_confirm = array('Password', 'account_password_confirm', array('label' => __("confirm password"), 'validators' => array($identicalValidator), 'allowEmpty' => false));
     $pass_current = array('Password', 'account_password_current', array('label' => __("current password")));
     $submit = array('Submit', 'account_submit', array('label' => __("modify my informations")));
     $this->addElements(array($email, $pass, $pass_confirm, $pass_current, $submit));
     $this->account_submit->setDecorators(array('ViewHelper'));
     // fieldset around form
     $this->addDisplayGroup(array_keys($this->_elements), 'main', array('decorators' => array('FormElements', array('fieldset'))));
 }
コード例 #14
0
 public function init()
 {
     $this->name = new Zend_Form_Element_Text('name');
     $this->new_password = new Zend_Form_Element_Password('new_password');
     $this->confirm_password = new Zend_Form_Element_Password('confirm_password');
     $this->email = new Zend_Form_Element_Text('email');
     $this->biography = new Zend_Form_Element_Textarea('biography');
     $this->submit = new Zend_Form_Element_Submit('submit');
     $email_validator = new Zend_Validate_EmailAddress();
     $email_validator->setDeepMxCheck(false);
     $email_validator->setDomainCheck(false);
     $email_validator->setMessages(array(Zend_Validate_EmailAddress::INVALID_FORMAT => "Format Email Salah"));
     $confirm_password_validator = new Zend_Validate_Identical();
     $confirm_password_validator->setMessage("Kata sandi tidak cocok.");
     $this->biography->setAttribs(array('style' => 'width:100%;height:240px'));
     $this->name->setAttribs(array('class' => 'span6', 'placeholder' => 'Nama lengkap anda'));
     $this->email->addValidator($email_validator)->setAttribs(array('class' => 'span4', 'placeholder' => '*****@*****.**'));
     $this->submit->setAttribs(array('class' => 'btn btn-success'))->setLabel('Simpan');
     $this->confirm_password->addValidator($confirm_password_validator);
     $this->addElements(array($this->name, $this->new_password, $this->confirm_password, $this->email, $this->biography, $this->submit));
     $this->setElementDecorators(array('ViewHelper', 'Errors'));
 }
コード例 #15
0
 /**
  * Returns an array of elements for check fields during password reset and/or
  * 'label name' => 'required value' pairs. vor asking extra questions before allowing
  * a password change.
  *
  * Default is asking for the username but you can e.g. ask for someones birthday.
  *
  * @return array Of 'label name' => 'required values' or \Zend_Form_Element elements
  */
 protected function loadResetPasswordCheckFields()
 {
     // CHECK ON SOMEONES BIRTHDAY
     // Birthdays are usually not defined for staff but the do exist for respondents
     if ($value = $this->_getVar('user_birthday')) {
         $label = $this->_('Your birthday');
         $birthdayElem = new \Gems_JQuery_Form_Element_DatePicker('birthday');
         $birthdayElem->setLabel($label)->setOptions(\MUtil_Model_Bridge_FormBridge::getFixedOptions('date'))->setStorageFormat(\Zend_Date::ISO_8601);
         if ($format = $birthdayElem->getDateFormat()) {
             $valueFormatted = \MUtil_Date::format($value, $format, $birthdayElem->getStorageFormat());
         } else {
             $valueFormatted = $value;
         }
         $validator = new \Zend_Validate_Identical($valueFormatted);
         $validator->setMessage(sprintf($this->_('%s is not correct.'), $label), \Zend_Validate_Identical::NOT_SAME);
         $birthdayElem->addValidator($validator);
         return array($birthdayElem);
     }
     // */
     return array($this->_('Username') => $this->getLoginName());
 }
コード例 #16
0
 /**
  * Add user defined checkfields
  *
  * @return void
  */
 protected function addCheckFields()
 {
     $check = 1;
     foreach ($this->checkFields as $label => &$value) {
         if ($value instanceof \Zend_Form_Element) {
             $element = $value;
         } else {
             if ($value) {
                 $element = new \Zend_Form_Element_Text('check_' . $check);
                 $element->setAllowEmpty(false);
                 $element->setLabel($label);
                 $validator = new \Zend_Validate_Identical($value);
                 $validator->setMessage(sprintf($this->_('%s is not correct.'), $label), \Zend_Validate_Identical::NOT_SAME);
                 $element->addValidator($validator);
                 $value = $element;
                 $check++;
             } else {
                 // Nothing to check for
                 unset($this->checkFields[$label]);
                 continue;
             }
         }
         $this->addElement($element);
     }
 }
コード例 #17
0
ファイル: User.php プロジェクト: pavelnovitsky/magento2
 /**
  * Add validation rules for the password management fields
  *
  * @param \Magento\Framework\Validator\Object $validator
  * @return void
  */
 protected function _addPasswordValidation(\Magento\Framework\Validator\Object $validator)
 {
     $passwordNotEmpty = new \Zend_Validate_NotEmpty();
     $passwordNotEmpty->setMessage(__('Password is required field.'), \Zend_Validate_NotEmpty::IS_EMPTY);
     $minPassLength = self::MIN_PASSWORD_LENGTH;
     $passwordLength = new \Zend_Validate_StringLength(array('min' => $minPassLength, 'encoding' => 'UTF-8'));
     $passwordLength->setMessage(__('Your password must be at least %1 characters.', $minPassLength), \Zend_Validate_StringLength::TOO_SHORT);
     $passwordChars = new \Zend_Validate_Regex('/[a-z].*\\d|\\d.*[a-z]/iu');
     $passwordChars->setMessage(__('Your password must include both numeric and alphabetic characters.'), \Zend_Validate_Regex::NOT_MATCH);
     $validator->addRule($passwordNotEmpty, 'password')->addRule($passwordLength, 'password')->addRule($passwordChars, 'password');
     if ($this->hasPasswordConfirmation()) {
         $passwordConfirmation = new \Zend_Validate_Identical($this->getPasswordConfirmation());
         $passwordConfirmation->setMessage(__('Your password confirmation must match your password.'), \Zend_Validate_Identical::NOT_SAME);
         $validator->addRule($passwordConfirmation, 'password');
     }
 }
コード例 #18
0
 public function init()
 {
     $this->addSubForm(new LandlordsReferencing_Form_Subforms_DataProtection(), 'subform_dataprotection');
     $this->setMethod('post');
     //Prospective landlord name
     $this->addElement('select', 'title', array('label' => 'Title *', 'required' => true, 'multiOptions' => array('Mr' => 'Mr', 'Ms' => 'Ms', 'Mrs' => 'Mrs', 'Miss' => 'Miss', 'Dr' => 'Dr', 'Prof' => 'Professor', 'Sir' => 'Sir'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please select your title', 'notEmptyInvalid' => 'Please select a valid title'))))));
     //First name entry
     $this->addElement('text', 'first_name', array('label' => 'First Name *', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your first name')))), 'attribs' => array('data-ctfilter' => 'yes')));
     //Last name entry
     $this->addElement('text', 'last_name', array('label' => 'Last Name *', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your last name')))), 'attribs' => array('data-ctfilter' => 'yes')));
     //Prospective landlord address details.
     $hiddenElement = new Zend_Form_Element_Hidden('property_number_name');
     $hiddenElement->setRequired(false);
     $hiddenElement->clearDecorators();
     $this->addElement($hiddenElement);
     // Add postcode element
     $this->addElement('text', 'property_postcode', array('label' => 'Postcode *', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter a postcode', 'notEmptyInvalid' => 'Please enter a valid postcode'))), array('regex', true, array('pattern' => '/^[0-9a-z]{2,}\\ ?[0-9a-z]{2,}$/i', 'messages' => 'Postcode must be in postcode format'))), 'attribs' => array('data-ctfilter' => 'yes')));
     // Add address select element
     $this->addElement('select', 'property_address', array('label' => 'Please select your address *', 'required' => true, 'multiOptions' => array('' => '--- please select ---'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please select your property address', 'notEmptyInvalid' => 'Please select your property address')))), 'attribs' => array('data-ctfilter' => 'yes')));
     //Phone number entry
     $this->addElement('text', 'phone_number', array('label' => 'Telephone Number *', 'required' => true, 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your phone number'))), array('regex', true, array('pattern' => '/^((\\+44\\s?\\(0\\)\\s?\\d{2,4})|(\\+44\\s?(01|02|03|07|08)\\d{2,3})|(\\+44\\s?(1|2|3|7|8)\\d{2,3})|(\\(\\+44\\)\\s?\\d{3,4})|(\\(\\d{5}\\))|((01|02|03|07|08)\\d{2,3})|(\\d{5}))(\\s|-|.)(((\\d{3,4})(\\s|-)(\\d{3,4}))|((\\d{6,7})))$/', 'messages' => 'Not a valid phone number'))), 'attribs' => array('data-ctfilter' => 'yes')));
     //Fax number entry
     $this->addElement('text', 'fax_number', array('label' => 'Fax Number', 'required' => false, 'validators' => array(array('regex', true, array('pattern' => '/^((\\+44\\s?\\(0\\)\\s?\\d{2,4})|(\\+44\\s?(01|02|03|07|08)\\d{2,3})|(\\+44\\s?(1|2|3|7|8)\\d{2,3})|(\\(\\+44\\)\\s?\\d{3,4})|(\\(\\d{5}\\))|((01|02|03|07|08)\\d{2,3})|(\\d{5}))(\\s|-|.)(((\\d{3,4})(\\s|-)(\\d{3,4}))|((\\d{6,7})))$/', 'messages' => 'Not a valid phone number'))), 'attribs' => array('data-ctfilter' => 'yes')));
     //Mobile number entry. We do not currently capture this, so WTF do we ask for it?
     $this->addElement('text', 'mobile_number', array('label' => 'Mobile Number *', 'required' => true, 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your mobile number'))), array('regex', true, array('pattern' => '/^07([\\d]{3})[(\\D\\s)]?[\\d]{3}[(\\D\\s)]?[\\d]{3}$/', 'messages' => 'Not a valid mobile phone number'))), 'attribs' => array('data-ctfilter' => 'yes')));
     //The email elements.
     $emailElement = new Zend_Form_Element_Text('email');
     $emailElement->setLabel('Email *');
     $emailElement->setRequired(true);
     $emailElement->addFilter(new Zend_Filter_StringTrim());
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please enter your email address');
     $emailElement->addValidator($validator);
     $validator = new Zend_Validate_EmailAddress();
     $validator->setMessages(array(Zend_Validate_EmailAddress::INVALID_HOSTNAME => "Domain name invalid in email address", Zend_Validate_EmailAddress::INVALID_FORMAT => "Invalid email address"));
     $emailElement->addValidator($validator);
     $this->addElement($emailElement);
     //The password element.
     $passwordElement = new Zend_Form_Element_Password('password');
     $passwordElement->setRequired(true);
     $passwordElement->setLabel('Password *');
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please set a password');
     $passwordElement->addValidator($validator);
     $passwordElement->addValidator(new Zend_Validate_PasswordStrength());
     $validator = new Zend_Validate_Identical();
     $validator->setToken('confirm_password');
     $validator->setMessage('Passwords are not the same', Zend_Validate_Identical::NOT_SAME);
     $passwordElement->addValidator($validator);
     $this->addElement($passwordElement);
     //The confirm password element.
     $confirmPasswordElement = new Zend_Form_Element_Password('confirm_password');
     $confirmPasswordElement->setRequired(true);
     $confirmPasswordElement->setLabel('Confirm Password *');
     $validator = new Zend_Validate_NotEmpty();
     $validator->setMessage('Please confirm your password');
     $confirmPasswordElement->addValidator($validator);
     $this->addElement($confirmPasswordElement);
     // Security question & answer
     $this->addElement('select', 'security_question', array('label' => 'Security Question *', 'required' => true, 'multiOptions' => array('' => 'Please select'), 'registerInArrayValidator' => false, 'decorators' => array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please select your security question', 'notEmptyInvalid' => 'Please select your security question'))))));
     $this->addElement('text', 'security_answer', array('label' => 'Answer *', 'required' => true, 'filters' => array('StringTrim'), 'validators' => array(array('NotEmpty', true, array('messages' => array('isEmpty' => 'Please enter your security answer'))))));
     $this->addElement('text', 'insurance_renewal_date', array('label' => 'Next Landlords Insurance Renewal Date (dd/mm/yyyy)', 'required' => false, 'filters' => array('StringTrim')));
     $insuranceRenewalDate = $this->getElement('insurance_renewal_date');
     $validator = new Zend_Validate_DateCompare();
     $validator->minimum = new Zend_Date(mktime(0, 0, 0, date('m'), date('d'), date('Y')));
     //        $validator->maximum = new Zend_Date(mktime(0, 0, 0, date('m'), date('d'), date('Y')) + 60 * 60 * 24 * 30);
     $validator->setMessages(array('msgMinimum' => 'Insurance renewal date cannot be in the past'));
     $insuranceRenewalDate->addValidator($validator, true);
     //Grab view and add the date picker JavaScript files into the page head
     $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
     $view->headLink()->appendStylesheet('/assets/vendor/bootstrap-datepicker/css/bootstrap-datepicker.min.css', 'screen');
     $view->headScript()->appendFile('/assets/vendor/jquery-date/js/date.js', 'text/javascript')->appendFile('/assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js', 'text/javascript')->appendFile('/assets/landlords-referencing/js/referencingInsuranceRenewalDatePicker.js', 'text/javascript');
     //The submit button
     $submitElement = new Zend_Form_Element_Submit('submit');
     $submitElement->setIgnore(true);
     $this->addElement($submitElement);
     //Apply decorators. This has to be done unusually for t'ings to work.
     $this->setElementDecorators(array(array('ViewHelper', array('escape' => false)), array('Label', array('escape' => false))));
     $submitElement->removeDecorator('label');
     $this->property_number_name->removeDecorator('HtmlTag');
     //Grab view and add the address lookup JavaScript into the page head
     $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
     $view->headScript()->appendFile('/assets/common/js/addressLookup.js', 'text/javascript');
 }