/** * Get login form validator * * @return \Magelight\Webform\Models\Validator */ public function getLoginFormValidator() { $validator = \Magelight\Webform\Models\Validator::forge(); $validator->fieldRules('email')->required()->chainRule()->email()->setCustomError('Enter correct e-mail'); $validator->fieldRules('password', __('Password'))->required()->setCustomError('Enter password'); return $validator; }
/** * Get for for password recovery page * * @return \Magelight\Webform\Blocks\Form */ public function getForgotPasswordForm() { $form = Form::forge()->setHorizontal()->setConfigs('remindpass-form', $this->url(\Magelight\Config::getInstance()->getConfigString('global/auth/urls/forgot_password_url'))); $fieldset = Fieldset::forge(); $fieldset->addRowField(Elements\Input::forge()->setName('email'), __('E-Mail', [], 1, 'default')); $validator = \Magelight\Webform\Models\Validator::forge(); $validator->fieldRules('email')->required()->setCustomError(__("Please enter a valid e-mail!", 1))->chainRule()->email()->setCustomError(__("Please enter a valid e-mail!", 1)); return $form->addFieldset($fieldset)->createResultRow(true)->addButtonsRow([Elements\Button::forge()->setContent(__('Send new password'))->addClass('btn-primary')])->loadFromRequest()->setValidator($validator)->validateOnFront(); }
/** * Process data validation * * @param array $data * @return bool */ protected function processValidation($data) { $result = $this->validator->validate($data)->result(); if (!$result->isSuccess()) { foreach ($result->getErrors() as $error) { /** @var $error \Magelight\Webform\Models\Validation\Error */ $this->addResult($error->getErrorString()); } } return $result->isSuccess(); }
/** * Get form validator * * @return \Magelight\Webform\Models\Validator */ public function getSampleFormValidator() { $validator = \Magelight\Webform\Models\Validator::forge(); $validator->fieldRules('captcha')->validatePermanent()->captcha()->setCustomError(__('Protection code is incorrect')); $validator->fieldRules('password', __('Password'))->required()->chainRule()->minLength(3)->chainRule()->maxLength(32)->chainRule(); $validator->fieldRules('passconf', __('Password confirmation'))->required()->chainRule()->equals(\Magelight\Http\Request::getInstance()->getPost('regform')['password'], __('entered password')); $validator->fieldRules('name')->required()->chainRule()->minLength(3)->chainRule()->maxLength(32)->chainRule()->pregMatch('/[a-z0-9а-я]*/i'); $validator->fieldRules('email')->required()->chainRule()->email(); $validator->setErrorsLimit(1); return $validator; }