public function initialize($entity = NULL) { $title = new \Phalcon\Forms\Element\Text('title'); $title->setLabel('Title:'); $title->addValidators(array(new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'Title is required.')))); $this->add($title); $text = new \Phalcon\Forms\Element\Textarea('text', array('rows' => 12)); $text->setLabel('Text:'); $text->addValidators(array(new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'Text is required.')))); $this->add($text); }
private function _Name() { $element = new \Phalcon\Forms\Element\Text("Name"); $element->setLabel("Name"); $element->addValidator(new \Phalcon\Validation\Validator\StringLength(["max" => 45])); return $element; }
public function initialize() { $this->setAction(self::FORM_ACTION); // username $element = new \Phalcon\Forms\Element\Text(self::USERNAME_NAME, array('id' => self::USERNAME_NAME)); $element->setLabel(self::USERNAME_LABEL); $element->addValidators(array(new \Phalcon\Validation\Validator\PresenceOf(array('message' => self::USERNAME_REQUIRE_MESSAGE)), new \Phalcon\Validation\Validator\Regex(array('pattern' => self::USERNAME_REGEX_PATTERN)))); $this->add($element); // email $element = new \Phalcon\Forms\Element\Text(self::EMAIL_NAME, array('id' => self::EMAIL_NAME)); $element->setLabel(self::EMAIL_LABEL); $element->addValidators(array(new \Phalcon\Validation\Validator\PresenceOf(array('message' => self::EMAIL_REQUIRE_MESSAGE)), new \Phalcon\Validation\Validator\Email(array('message' => self::EMAIL_VALIDATOR_MESSAGE)))); $this->add($element); // subject $element = new \Phalcon\Forms\Element\Text(self::SUBJECT_NAME, array('id' => self::SUBJECT_NAME)); $element->setLabel(self::SUBJECT_LABEL); $element->addValidators(array(new \Phalcon\Validation\Validator\StringLength(array('max' => self::SUBJECT_VALIDATOR_LENGTH_MAX, 'messageMaximum' => self::SUBJECT_VALIDATOR_LENGTH_MAX_MESSAGE)), new \Phalcon\Validation\Validator\Regex(array('pattern' => self::SUBJECT_REGEX_PATTERN)))); $this->add($element); // text $element = new \Phalcon\Forms\Element\TextArea(self::TEXT_NAME, array('id' => self::TEXT_NAME)); $element->setLabel(self::TEXT_LABEL); $element->addValidators(array(new \Phalcon\Validation\Validator\PresenceOf(array('message' => self::TEXT_REQUIRE_MESSAGE)))); $this->add($element); // submit $element = new \Phalcon\Forms\Element\Submit(self::SUBMIT_NAME, array('id' => self::SUBMIT_NAME)); $element->setDefault(self::SUBMIT_LABEL); $this->add($element); }
public function initialize() { $name = new \Phalcon\Forms\Element\Text('name', array('placeholder' => 'Ivan')); $name->setLabel('Name:'); $name->addValidator(new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'Name is required.'))); $name->addValidator(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Name is not valid.'))); $this->add($name); $lastname = new \Phalcon\Forms\Element\Text('lastname', array('placeholder' => 'Ivanovich')); $lastname->setLabel('Lastname:'); $lastname->addValidator(new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'Lastname is required.'))); $lastname->addValidator(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Lastname is not valid.'))); $this->add($lastname); }
public function initialize() { $email = new \Phalcon\Forms\Element\Email('email', array('placeholder' => '*****@*****.**')); $email->setLabel('Enter Your E-Mail:'); $email->addValidators(array(new \Phalcon\Validation\Validator\Email(array('message' => 'E-Mail is not valid.')))); $this->add($email); $password = new \Phalcon\Forms\Element\Password('password', array('placeholder' => 'Your password')); $password->setLabel('Password:'******'min' => 6, 'messageMinimum' => 'Password is not valid.')))); $this->add($password); $confirm_password = new \Phalcon\Forms\Element\Password('confirm_password', array('placeholder' => 'Confirm')); $confirm_password->setLabel('Confirm password:'******'with' => 'password', 'message' => 'Password doesn\'t match confirmation.'))); $this->add($confirm_password); $name = new \Phalcon\Forms\Element\Text('name', array('placeholder' => 'Ivan')); $name->setLabel('Name:'); $name->addValidators(array(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Name is not valid.')))); $this->add($name); $lastname = new \Phalcon\Forms\Element\Text('lastname', array('placeholder' => 'Ivanovich')); $lastname->setLabel('Lastname:'); $lastname->addValidators(array(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Lastname is not valid.')))); $this->add($lastname); }
public function initialize($entity = NULL) { $name = new \Phalcon\Forms\Element\Text('name', array('placeholder' => 'Ivan')); $name->setLabel('Name:'); $name->addValidators(array(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Name is not valid.')))); $this->add($name); $lastname = new \Phalcon\Forms\Element\Text('lastname', array('placeholder' => 'Ivanovich')); $lastname->setLabel('Lastname:'); $lastname->addValidators(array(new \Phalcon\Validation\Validator\StringLength(array('min' => 3, 'messageMinimum' => 'Lastname is not valid.')))); $this->add($lastname); $picture = new \Phalcon\Forms\Element\File('picture'); $picture->setLabel('Picture:'); /*$picture->addValidators( array( new \Phalcon\Validation\Validator\File( array( 'allowedTypes' => array('image/jpeg', 'image/png'), 'messageType' => 'Allowed file types are :types', ) ) ) );*/ $this->add($picture); }
protected function _setUpField($field_key, $field_params) { $js_validation = array(); if (isset($field_params[0])) { $field_type = strtolower($field_params[0]); } else { $field_type = 'text'; } if (isset($field_params[1])) { $field_options = (array) $field_params[1]; } else { $field_options = array(); } // Make all field options lower-case. $field_options_new = array(); foreach ($field_options as $field_option_key => $field_option_value) { $field_options_new[strtolower($field_option_key)] = $field_option_value; } $field_options = $field_options_new; // Handle rename of "multiOptions" to "options". if (isset($field_options['multioptions'])) { $field_options['options'] = $field_options['multioptions']; unset($field_options['multioptions']); } // Save for later lookup. $this->fields[$field_key] = array('type' => $field_type) + $field_options; // Clean up array. if (isset($field_options['options'])) { $select_options = $field_options['options']; unset($field_options['options']); } else { $select_options = array(); } if (isset($field_options['label'])) { $element_label = $field_options['label']; unset($field_options['label']); } else { $element_label = NULL; } if (isset($field_options['default'])) { $element_default = $field_options['default']; unset($field_options['default']); } else { $element_default = NULL; } if (isset($field_options['description'])) { unset($field_options['description']); } $element_validators = array(); // Set up file validation options. if ($field_type == 'file') { if (!empty($field_options['maxsize']) || !empty($field_options['allowedtypes'])) { $validate_params = array(); if (!empty($field_options['maxsize'])) { $validate_params['maxsize'] = $field_options['maxsize']; $js_validation['size'] = array('max-size' => $field_options['maxsize']); } if (!empty($field_options['allowedtypes'])) { $validate_params['allowedtypes'] = $field_options['allowedtypes']; $field_options['accept'] = implode(', ', $field_options['allowedtypes']); } if (empty($field_options['required']) || !$field_options['required']) { $validate_params['allowEmpty'] = true; } $element_validators[] = new \Phalcon\Validation\Validator\File($validate_params); unset($field_options['maxsize']); unset($field_options['allowedtypes']); } } if (isset($field_options['required'])) { if ($field_options['required']) { $element_validators[] = new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'This field is required.', 'cancelOnFail' => true)); $js_validation['required'] = array(); } unset($field_options['required']); } if (isset($field_options['validators'])) { foreach ($field_options['validators'] as $validator) { if (!is_string($validator)) { continue; } switch (strtolower($validator)) { case 'emailaddress': case 'email': $element_validators[] = new \Phalcon\Validation\Validator\Email(array('message' => 'This field must be a valid e-mail address.', 'allowEmpty' => true)); $js_validation['email'] = array(); break; case 'webaddress': case 'url': $element_validators[] = new \Phalcon\Validation\Validator\Url(array('message' => 'This field must be a valid web address.', 'allowEmpty' => true)); $js_validation['url'] = array(); break; } } unset($field_options['validators']); } // TODO: Implement filters. if (isset($field_options['filters'])) { unset($field_options['filters']); } // Minimum and Maximum Length Validation if (isset($field_options['minlength']) && isset($field_options['maxlength'])) { $element_validators[] = new \Phalcon\Validation\Validator\StringLength(array('min' => $field_options['minlength'], 'max' => $field_options['maxlength'], 'message' => 'This field must be between ' . $field_options['minlength'] . ' and ' . $field_options['maxlength'] . ' characters.')); $js_validation['length'] = array('length' => $field_options['minlength'] . '-' . $field_options['maxlength']); unset($field_options['minlength'], $field_options['maxlength']); } else { if (isset($field_options['minlength'])) { $element_validators[] = new \Phalcon\Validation\Validator\StringLength(array('min' => $field_options['minlength'], 'message' => 'This field must be at least ' . $field_options['minlength'] . ' characters.')); $js_validation['length'] = array('length' => 'min' . $field_options['minlength']); unset($field_options['minlength']); } else { if (isset($field_options['maxlength'])) { $element_validators[] = new \Phalcon\Validation\Validator\StringLength(array('max' => $field_options['maxlength'], 'message' => 'This field must be less than ' . $field_options['maxlength'] . ' characters.')); $js_validation['length'] = array('length' => 'max' . $field_options['maxlength']); unset($field_options['maxlength']); } } } // Confirmation validation (with another field). if (isset($field_options['confirm'])) { $element_validators[] = new \Phalcon\Validation\Validator\Confirmation(array('with' => $field_options['confirm'])); $js_validation['confirmation'] = array('confirm' => $field_options['confirm']); unset($field_options['confirm']); } // Set up JS validation. if (!empty($js_validation)) { $field_options['data-validation'] = implode(' ', array_keys($js_validation)); foreach ($js_validation as $js_validation_item => $js_validation_options) { if (!empty($js_validation_options)) { foreach ($js_validation_options as $validate_key => $validate_val) { $field_options['data-validation-' . $validate_key] = $validate_val; } } } } // Remove internal classes not needed for render. unset($field_options['belongsto']); unset($field_options['layout']); // Set up element object. switch ($field_type) { case 'password': $element = new \Phalcon\Forms\Element\Password($field_key, $field_options); break; case 'select': $element = new \Phalcon\Forms\Element\Select($field_key, $select_options, $field_options); $validator = new \FA\Forms\Validator\SelectOptionsValidator(array('domain' => Utilities::array_keys_recursive($select_options))); $element->addValidator($validator); break; case 'checkbox': $element = new \Phalcon\Forms\Element\Check($field_key, $field_options); break; case 'checkboxes': case 'multicheckbox': $element = new \FA\Forms\Element\MultiCheckbox($field_key, $select_options, $field_options); $validator = new \FA\Forms\Validator\SelectOptionsValidator(array('domain' => Utilities::array_keys_recursive($select_options))); $element->addValidator($validator); break; case 'radio': $element = new \Phalcon\Forms\Element\Radio($field_key, $field_options); $validator = new \FA\Forms\Validator\SelectOptionsValidator(array('domain' => Utilities::array_keys_recursive($select_options))); $element->addValidator($validator); break; case 'textarea': $element = new \Phalcon\Forms\Element\TextArea($field_key, $field_options); break; case 'hidden': $element = new \Phalcon\Forms\Element\Hidden($field_key, $field_options); break; case 'file': $element = new \FA\Forms\Element\File($field_key, $field_options); break; case 'image': $element = new \FA\Forms\Element\Image($field_key, $field_options); break; case 'date': $element = new \Phalcon\Forms\Element\Date($field_key, $field_options); break; case 'unixdate': $element = new \FA\Forms\Element\UnixDate($field_key, $field_options); break; case 'numeric': $element = new \Phalcon\Forms\Element\Numeric($field_key, $field_options); break; case 'submit': $field_options['value'] = $element_label; $element_label = NULL; $element = new \Phalcon\Forms\Element\Submit($field_key, $field_options); break; case 'markup': $element = new \FA\Forms\Element\Markup($field_key, $field_options['markup'], $field_options); break; case 'captcha': case 'recaptcha': $element = new \FA\Forms\Element\Recaptcha($field_key, $field_options); $validator = new \FA\Forms\Validator\RecaptchaValidator(); $element->addValidator($validator); break; case 'csrf': $element = new \FA\Forms\Element\Csrf($field_key, $field_options); $validator = new \FA\Forms\Validator\CsrfValidator(); $element->addValidator($validator); break; case 'text': default: $element = new \Phalcon\Forms\Element\Text($field_key, $field_options); break; } // Set element label and defaults. $element->setLabel($element_label); $element->setDefault($element_default); // Set up required or min-length validators. if ($element_validators) { $element->addValidators($element_validators); } $this->add($element); return $this; }
protected function _setUpField($field_key, $field_params) { $field_type = $field_params[0]; $field_options = (array) $field_params[1]; // Save for later lookup. $this->fields[$field_key] = array('type' => $field_type) + $field_options; // Clean up array. if (isset($field_options['multiOptions'])) { $select_options = $field_options['multiOptions']; unset($field_options['multiOptions']); } else { $select_options = array(); } if (isset($field_options['label'])) { $element_label = $field_options['label']; unset($field_options['label']); } else { $element_label = NULL; } if (isset($field_options['default'])) { $element_default = $field_options['default']; unset($field_options['default']); } else { $element_default = NULL; } if (isset($field_options['description'])) { unset($field_options['description']); } $element_validators = array(); if (isset($field_options['required'])) { if ($field_options['required']) { $element_validators[] = new \Phalcon\Validation\Validator\PresenceOf(array('message' => 'This field is required.', 'cancelOnFail' => true)); } unset($field_options['required']); } if (isset($field_options['validators'])) { foreach ($field_options['validators'] as $validator) { if (!is_string($validator)) { continue; } switch (strtolower($validator)) { case 'emailaddress': case 'email': $element_validators[] = new \Phalcon\Validation\Validator\Email(array('message' => 'This field must be a valid e-mail address.', 'allowEmpty' => true)); break; case 'webaddress': case 'url': $element_validators[] = new \Phalcon\Validation\Validator\Url(array('message' => 'This field must be a valid web address.', 'allowEmpty' => true)); break; } } unset($field_options['validators']); } // TODO: Implement filters. if (isset($field_options['filters'])) { unset($field_options['filters']); } if (isset($field_options['minLength'])) { $element_validators[] = new \Phalcon\Validation\Validator\StringLength(array('min' => $field_options['minLength'], 'message' => 'This field must be at least ' . $field_options['minLength'] . ' characters.')); unset($field_options['minLength']); } if (isset($field_options['belongsTo'])) { $field_name = $field_options['belongsTo'] . '[' . $field_key . ']'; $field_options['name'] = $field_name; } // Set up element object. switch (strtolower($field_type)) { case 'password': $element = new \Phalcon\Forms\Element\Password($field_key, $field_options); break; case 'select': $element = new \Phalcon\Forms\Element\Select($field_key, $select_options, $field_options); break; case 'checkbox': $element = new \Phalcon\Forms\Element\Check($field_key, $field_options); break; case 'checkboxes': case 'multicheckbox': $element = new \DF\Forms\Element\MultiCheckbox($field_key, $select_options, $field_options); break; case 'radio': $element = new \Phalcon\Forms\Element\Radio($field_key, $field_options); break; case 'textarea': $element = new \Phalcon\Forms\Element\TextArea($field_key, $field_options); break; case 'hidden': $element = new \Phalcon\Forms\Element\Hidden($field_key, $field_options); break; case 'file': $element = new \DF\Forms\Element\File($field_key, $field_options); break; case 'image': $element = new \DF\Forms\Element\Image($field_key, $field_options); break; case 'date': $element = new \Phalcon\Forms\Element\Date($field_key, $field_options); break; case 'unixdate': $element = new \DF\Forms\Element\UnixDate($field_key, $field_options); break; case 'numeric': $element = new \Phalcon\Forms\Element\Numeric($field_key, $field_options); break; case 'submit': $field_options['value'] = $element_label; $element_label = NULL; $element = new \Phalcon\Forms\Element\Submit($field_key, $field_options); break; case 'markup': $element = new \DF\Forms\Element\Markup($field_key, $field_options['markup'], $field_options); break; case 'captcha': case 'recaptcha': $element = new \DF\Forms\Element\Recaptcha($field_key, $field_options); $validator = new \DF\Forms\Validator\RecaptchaValidator(); $element->addValidator($validator); break; case 'text': default: $element = new \Phalcon\Forms\Element\Text($field_key, $field_options); break; } // Set element label and defaults. $element->setLabel($element_label); $element->setDefault($element_default); // Set up required or min-length validators. if ($element_validators) { $element->addValidators($element_validators); } $this->form->add($element); return $this->form; }