/** * update * @param int $_user_no * @param array $_data * @param array $_chg * @return boolean */ public function updateRecord($_user_no, $_data, $_chg) { $adapter = GlobalAdapterFeature::getStaticAdapter(); $connection = $adapter->getDriver()->getConnection(); $connection->beginTransaction(); $this->db->exchanegArray($_data); $role_no = gv('role_no', $_data); $chg_user = gv('chg_user', $_chg); $chg_lv = gv('chg_lv', $_chg); try { $row = $this->db->updateRecord($_user_no); if ($row && $chg_user) { $r1 = new UserRoleTable($adapter); $r1->deleteRole($role_no); $row = $r1->insertRecord($role_no, gv('user_no', $_data)); } if ($row && $chg_lv) { $r2 = new ControllerRoleTable($adapter); $r2->deleteRole($role_no); $row = $r2->insertRecord($role_no, gv('level', $_data)); } if ($row) { $connection->commit(); return true; } } catch (\Exception $e) { $connection->rollback(); if (IS_TEST) { echo $e->getMessage(); } return false; } }
public function __construct($options = null) { if ($options == null) { //Fullname $this->add(array('name' => 'fullname', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Họ và tên của khách hàng !')))))); //Username $this->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên đăng nhập của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Tên đăng nhập lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Tên đăng nhập nhỏ hơn %max% ký tự !')))))); //Email $this->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ Email !'))), array('name' => 'EmailAddress', 'options' => array('messages' => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => 'Bạn phải nhập đúng định dạng Email !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => GlobalAdapterFeature::getStaticAdapter()))))); //Username $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 10, 'max' => 11, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !')))))); //Password $this->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Mật khẩu của khách hàng !'))), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Mật khẩu lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Mật khẩu nhỏ hơn %max% ký tự !')))))); //Password $this->add(array('name' => 'confirm-password', 'required' => false, 'validators' => array(array('name' => 'ZendVN\\Validator\\ConfirmPassword', 'options' => array('field' => 'password'))))); } if ($options['task'] == 'edit') { //Fullname $this->add(array('name' => 'fullname', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Họ và tên của khách hàng !')))))); //Username $this->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên đăng nhập của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id'])), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Tên đăng nhập lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Tên đăng nhập nhỏ hơn %max% ký tự !')))))); //Email $this->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ Email !'))), array('name' => 'EmailAddress', 'options' => array('messages' => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => 'Bạn phải nhập đúng định dạng Email !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id'])))))); //Phone $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của khách hàng !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter(), 'exclude' => array('field' => 'id', 'value' => $options['id'])), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 10, 'max' => 11, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !')))))); //Password $this->add(array('name' => 'password', 'required' => false, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'StringLength', 'options' => array('min' => 3, 'max' => 50, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Mật khẩu lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Mật khẩu nhỏ hơn %max% ký tự !')))))); //Password $this->add(array('name' => 'confirm-password', 'required' => false, 'validators' => array(array('name' => 'ZendVN\\Validator\\ConfirmPassword', 'options' => array('field' => 'password'))))); } }
/** * update * @param int $_user_no * @param array $_data * @param boolean $_chg_user * @return boolean */ public function updateRecord($_user_no, $_data, $_chg_user) { $adapter = GlobalAdapterFeature::getStaticAdapter(); $connection = $adapter->getDriver()->getConnection(); $connection->beginTransaction(); $this->db->exchanegArray($_data); try { $row = $this->db->updateRecord($_user_no); if ($row && $_chg_user) { $tpl_route_no = gv('tpl_route_no', $_data); $r = new TplRouteUserTable($adapter); $r->deleteRouteUser($tpl_route_no); $row = $r->insertRecord($tpl_route_no, gv('user_no', $_data)); } if ($row) { $connection->commit(); return true; } } catch (\Exception $e) { $connection->rollback(); if (IS_TEST) { echo $e->getMessage(); } return false; } }
public function getRecordWhere($data) { $result = null; $adapter = GlobalAdapterFeature::getStaticAdapter(); $connection = $adapter->getDriver()->getConnection($data); $connection->beginTransaction(); try { function add($datas) { global $data; $data = $datas; } add($data); function set(Select $select) { global $data; foreach ($data as $key => $value) { $select->where->like($key, "%{$value}%"); } } $result = $this->area->select(function (Select $select) { set($select); }); $connection->commit(); } catch (\Exception $e) { $connection->rollback(); } return $result; }
public function __construct($_sessionConfig = null, $_request = null) { $this->adapter = GlobalAdapterFeature::getStaticAdapter(); $this->tblgw = new TableGateway($this->tableName, $this->adapter); $this->sessionConfig = $_sessionConfig; $this->request = $_request; }
public function __construct($options = null) { if ($options == null) { //Tên công ty $this->add(array('name' => 'name', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên doanh nghiệp !')))))); //Phone $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của doanh nghiệp !'))), array('name' => 'DbNoRecordExists', 'options' => array('table' => 'users', 'field' => 'phone', 'adapter' => GlobalAdapterFeature::getStaticAdapter()), 'break_chain_on_failure' => true), array('name' => 'StringLength', 'options' => array('min' => 5, 'max' => 20, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !')))))); //địa chỉ $this->add(array('name' => 'address', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ doanh nghiệp !')))))); //Giới thiệu $this->add(array('name' => 'intro', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Giới thiệu doanh nghiệp !')))))); //Liên hệ $this->add(array('name' => 'contact', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Liên hệ doanh nghiệp !')))))); } if ($options['task'] == 'edit') { //Tên công ty $this->add(array('name' => 'name', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Tên doanh nghiệp !')))))); //Phone $this->add(array('name' => 'phone', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Số điện thoại của doanh nghiệp !'))), array('name' => 'StringLength', 'options' => array('min' => 5, 'max' => 20, 'messages' => array(\Zend\Validator\StringLength::TOO_SHORT => 'Chiều dài của Số điện thoại lớn hơn %min% ký tự !', \Zend\Validator\StringLength::TOO_LONG => 'Chiều dài của Số điện thoại nhỏ hơn %max% ký tự !')))))); //địa chỉ $this->add(array('name' => 'address', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Địa chỉ doanh nghiệp !')))))); //Giới thiệu $this->add(array('name' => 'intro', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Giới thiệu doanh nghiệp !')))))); //Liên hệ $this->add(array('name' => 'contact', 'required' => true, 'filters' => array(array('name' => 'Zend\\Filter\\StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'options' => array('messages' => array(\Zend\Validator\NotEmpty::IS_EMPTY => 'Bạn phải nhập thông tin Liên hệ doanh nghiệp !')))))); } }
/** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. * * @return void */ protected function setUp() { $tablegatewayConfig = new DbTableGatewayOptions(array('idColumn' => 'id', 'nameColumn' => 'name', 'modifiedColumn' => 'updated_at', 'lifetimeColumn' => 'lifetime', 'dataColumn' => 'data')); $this->adapter = new TableGateway('core_session', GlobalAdapterFeature::getStaticAdapter()); $this->object = new DbTableGateway($this->adapter, $tablegatewayConfig); $this->testArray = array('foo' => 'bar', 'bar' => array('foo' => uniqid())); }
/** * Get DB adapter * @return \Zend\Db\Adapter\Adapter */ public function getAdapter() { if (!$this->_adapter) { $this->_adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(); } return $this->_adapter; }
public function __construct($adapter = null) { if ($adapter == null) { $adapter = GlobalAdapterFeature::getStaticAdapter(); } parent::__construct($this->tableName, $adapter); }
public function __construct($name = 'workflowform') { // $this->setDbAdapter($dbAdapter); // we want to ignore the name passed parent::__construct($name); $dbAdapter = GlobalAdapterFeature::getStaticAdapter(); if ($dbAdapter != null) { $this->setDbAdapter($dbAdapter); } else { throw new \Exception('no dbAdapter loaded'); } // $workflowElement = new Collection('workflow'); // $workflowElement->setOptions(array( // 'label' => 'Workflow', // 'target_element' => array( // 'type' => 'CookingAssist\Form\WorkflowFieldset') // )); // $this->add($workflowElement); $this->add(array('name' => 'Id', 'type' => 'Hidden')); $this->add(array('name' => 'Title', 'type' => 'Text', 'options' => array('label' => 'Titel'))); $this->add(array('name' => 'Tipp', 'type' => 'Text', 'options' => array('label' => 'Tipp'))); $submitElement = new Submit('Submit'); $submitElement->setValue('Hinzufügen'); $this->add($submitElement); }
/** * Initialize constructor and save instance of \Zend\Db\TableGateway\TableGateway($name) in self::$tables */ public function __construct() { if (!empty($this->name) and !array_key_exists($this->name, self::$tables)) { self::$tables[$this->name] = new TableGateway\TableGateway($this->name, TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter()); } $this->init(); }
public function __construct(TableGateway $tableGateway) { $this->tableGateway = $tableGateway; $adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(); $this->adapter = $adapter; $this->resultSetPrototype = new ResultSet(); $this->applicationTable = new ApplicationTable(); }
/** * * @param \Zend\Db\Adapter\Adapter $adapter */ public function __construct() { $adapter = \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(); $this->adapter = $adapter; $this->resultSetPrototype = new ResultSet(); $this->resultSetPrototype->setArrayObjectPrototype(new Application()); $this->initialize(); }
/** * Saves the properties to the database. * * This performs an intelligent insert/update, and reloads the * properties with fresh data from the table on success. * * @return mixed The primary key value(s), as an associative array if the * key is compound, or a scalar if the key is single-column. */ public function save() { // Since this object is frequently stored in the session, we should // reconnect to the database as part of the save action to prevent // exceptions: $this->sql = new Sql(GlobalAdapterFeature::getStaticAdapter(), $this->table); return parent::save(); }
/** * Setup method -- make sure static adapter is available for testing. * * @return void */ public static function prepareAdapter() { try { DbGlobalAdapter::getStaticAdapter(); } catch (\Zend\Db\TableGateway\Exception\RuntimeException $e) { DbGlobalAdapter::setStaticAdapter(DbAdapterFactory::getAdapter()); } }
public function __construct($object) { $config = Reader::getConfig($object); if (!array_key_exists('table', $config)) { throw new NoTableFoundException(); } $this->table = $config['table']; $this->adapter = GlobalAdapterFeature::getStaticAdapter(); }
public function __construct($name = 'workflow') { $dbAdapter = Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(); $this->setDbAdapter($dbAdapter); parent::__construct($name); $this->add(array('name' => 'id', 'type' => 'Hidden')); $this->add(array('name' => 'title', 'type' => 'Text', 'options' => array('label' => 'Titel'))); $this->add(array('name' => 'tipp', 'type' => 'Text', 'options' => array('label' => 'Tipp'))); }
public function __construct() { $this->add(array('name' => 'username', 'filters' => array(array('name' => 'StringTrim'), array('name' => 'StringToLower')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng")))))); $this->add(array('name' => 'password', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên')))))); $this->add(array('name' => 'password2', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Xác nhận mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác')))))); $this->add(array('name' => 'fullName', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Tên đầy đủ')))))); $this->add(array('name' => 'email', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Email'))), array('name' => 'EmailAddress', 'break_chain_on_failure' => true, 'options' => array('messages' => array('emailAddressInvalidFormat' => 'Địa chỉ email không hợp lệ')))))); $this->add(array('name' => 'mobile', 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mobile')))))); $this->getEventManager()->trigger('init', $this); }
public function __construct($id = null) { if ($id == null) { $this->add(array("name" => "name", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Username không được rỗng")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username này đã tồn tại"), "table" => "user", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter()))))); $this->add(array("name" => "email", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Email không được rỗng")), "break_chain_on_failure" => true), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không đúng quy định")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email này đã tồn tại"), "table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter()))))); } else { $this->add(array("name" => "name", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Username không được rỗng")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username này đã tồn tại"), "table" => "user", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => array("field" => "id", "value" => $id)))))); $this->add(array("name" => "email", "required" => true, "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Email không được rỗng")), "break_chain_on_failure" => true), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không đúng quy định")), "break_chain_on_failure" => true), array("name" => "dbNoRecordExists", "options" => array("messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email này đã tồn tại"), "table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => array("field" => "id", "value" => $id)))))); } }
public function __construct(array $options = null) { //name $this->add(array('name' => "username", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "username", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true")))); //email $this->add(array('name' => "email", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID_HOSTNAME => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID => "Email không hợp lệ", \Zend\Validator\EmailAddress::DOT_ATOM => "Email không hợp lệ")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email đã tồn tại")), "break_chain_on_failure" => "true")))); //password $this->add(array('name' => "password", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "Regex", "options" => array("pattern" => "#^(?=.*\\d)(?=.*[A-Z])(?=.*\\W).{8,15}\$#", "messages" => array(\Zend\Validator\Regex::NOT_MATCH => "password phải có ít nhất 1 ký tự HOA,1 thường ,1 đặc biệt @,một số 1")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "8", "max" => "15", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "mật khẩu phải có ít nhất 8 ký tự", \Zend\Validator\StringLength::TOO_LONG => "mật khẩu phải ngắn hơn 15 ký tự")), "break_chain_on_failure" => "true")))); //fullname $this->add(array('name' => "fullname", "required" => false)); }
public function __construct(array $options = null) { $exclude = null; //danh cho edit if ($options["id"] != null) { $exclude = array("field" => "id", "value" => $options["id"]); } //name $this->add(array('name' => "name", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "category", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Category name đã tồn tại")), "break_chain_on_failure" => "true")))); //status $this->add(array('name' => "status", "required" => true)); }
/** * Set configuration * * @param \Zend\Config\Config $config VuFind configuration * * @return void */ public function setConfig($config) { // DEBUGGER if (!$config->System->debug == false) { $writer = new Writer\Stream('php://output'); $formatter = new \Zend\Log\Formatter\Simple('<pre>%timestamp% %priorityName%: %message%</pre>' . PHP_EOL); $writer->setFormatter($formatter); $this->addWriters($writer, 'debug-' . (is_int($config->System->debug) ? $config->System->debug : '5')); } // Activate database logging, if applicable: if (isset($config->Logging->database)) { $parts = explode(':', $config->Logging->database); $table_name = $parts[0]; $error_types = isset($parts[1]) ? $parts[1] : ''; $columnMapping = array('priority' => 'priority', 'message' => 'message', 'logtime' => 'timestamp', 'ident' => 'ident'); // Make Writers $filters = explode(',', $error_types); $writer = new Writer\Db(DbGlobalAdapter::getStaticAdapter(), $table_name, $columnMapping); $this->addWriters($writer, $filters); } // Activate file logging, if applicable: if (isset($config->Logging->file)) { $parts = explode(':', $config->Logging->file); $file = $parts[0]; $error_types = isset($parts[1]) ? $parts[1] : ''; // Make Writers $filters = explode(',', $error_types); $writer = new Writer\Stream($file); $this->addWriters($writer, $filters); } // Activate email logging, if applicable: if (isset($config->Logging->email)) { // Set up the logger's mailer to behave consistently with VuFind's // general mailer: $parts = explode(':', $config->Logging->email); $email = $parts[0]; $error_types = isset($parts[1]) ? $parts[1] : ''; // use smtp $mailer = $this->getServiceLocator()->get('Mailer'); $msg = $mailer->getNewMessage()->addFrom($config->Site->email)->addTo($email)->setSubject('VuFind Log Message'); // Make Writers $filters = explode(',', $error_types); $writer = new Writer\Mail($msg, $mailer->getTransport()); $this->addWriters($writer, $filters); } // Null writer to avoid errors if (count($this->writers) == 0) { $nullWriter = 'Zend\\Log\\Writer\\Null'; $this->addWriter(new $nullWriter()); } }
public function getRecord($id = null) { $result = null; $adapter = GlobalAdapterFeature::getStaticAdapter(); $connection = $adapter->getDriver()->getConnection(); $connection->beginTransaction(); try { $result = $this->enterprise->getRecord($id); $connection->commit(); } catch (\Exception $e) { $connection->rollback(); } return $result; }
public function __construct(array $options = null) { $exclude = null; //danh cho edit if ($options["id"] != null) { $exclude = array("field" => "id", "value" => $options["id"]); } //name $this->add(array('name' => "name", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "book", "field" => "name", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true")))); //name $this->add(array('name' => "price", "validators" => array(array("name" => "Digits", "options" => array("messages" => array(\Zend\Validator\Digits::NOT_DIGITS => "Nội dung nhập vào phải là số")), "break_chain_on_failure" => "true")))); //picture $this->add(array('name' => "image", "required" => false, "validators" => array(array("name" => "FileSize", "options" => array("min" => "2KB", "max" => "2MB", "messages" => array(\Zend\Validator\File\Size::TOO_BIG => "Dung lượng lớn nhất cho phép là '%max%' nhưng '%size%' lớn hơn", \Zend\Validator\File\Size::TOO_SMALL => "Dung lượng nhỏ nhất cho phép là '%min%' nhưng '%size%' nhỏ hơn")), "break_chain_on_failure" => "true"), array("name" => "FileExtension", "options" => array("extension" => array("png", "jpg"), "messages" => array(\Zend\Validator\File\Extension::FALSE_EXTENSION => "phần mở rộng không phù hợp")), "break_chain_on_failure" => "true")))); //status $this->add(array('name' => "status", "required" => true)); //status $this->add(array('name' => "sale_off_type", "required" => false)); }
public function __construct() { $this->adapter = GlobalAdapterFeature::getStaticAdapter(); $this->sqlObj = new Sql($this->adapter); $now = getdate(); //Thời gian truy cập hiện tại $this->day = $now["mday"]; //Ngày hiện tại $this->month = $now["mon"]; //Tháng hiện tại $this->year = $now["year"]; //Năm hiện tại $this->accessToday(); //Thông kê lượt truy cập trong ngày $this->totalCounterToday(); //Tổng truy cập trong ngày $this->deleteAccessYesterday(); //Xóa dữ liệu thống kê ngày hôm trước }
public function __construct() { $dbAdapter = Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(); $this->setDbAdapter($dbAdapter); parent::__construct('recipefieldset'); $this->add(array('name' => 'noOfPeople', 'type' => 'Text', 'options' => array('label' => 'Anzahl Personen'))); // Add Text for kcal. //TODO: Rescrict input to integers $kcalElement = new Text('kcal'); $kcalElement->setLabel('Anzahl Kalorien'); $this->add($kcalElement); // Add Checkbox for publicFlag $publicFlagElement = new Checkbox('publicFlag'); $publicFlagElement->setLabel('Möchten Sie das Rezept öffentlich speichern?'); $this->add($publicFlagElement); $typeElement = new MultiCheckbox('typeId'); $typeElement->setLabel('Rezept Typ'); $possibleValues = array('Sommermenu', 'Herbstmenu', 'Wintermenu', 'Frühlingsmenu'); $typeElement->setValueOptions($possibleValues); $this->add($typeElement); $selectString = 'SELECT * FROM Levels'; //$select->getSqlString(); $result = $dbAdapter->query($selectString, Adapter::QUERY_MODE_EXECUTE); $levels = array(); foreach ($result as $row) { $levels[] = $row['Shortname']; } $levelElement = new Select('level'); $levelElement->setLabel('Schwierigkeit'); $levelElement->setValueOptions($levels); /*array('einfach','schwierig'));*/ $this->add($levelElement); // Add steps $this->addSteps(4); $stepNumbers = range(1, $this->maxNoOfSteps); $addStepSelect = new Select('stepNumber'); $addStepSelect->setLabel('Anzahl Schritte wählen'); $addStepSelect->setValueOptions($stepNumbers); $addStepSelect->setAttribute('id', 'noOfStepSelect'); $addStepSelect->setAttribute('onchange', 'show()'); $this->add($addStepSelect); }
/** * update * @param int $_user_no * @param array $_data * @return boolean */ public function updateRecord($_user_no, $_data) { $adapter = GlobalAdapterFeature::getStaticAdapter(); $connection = $adapter->getDriver()->getConnection(); $connection->beginTransaction(); $this->db->exchanegArray($_data); try { $row = $this->db->updateRecord($_user_no); if ($row) { $connection->commit(); return true; } } catch (\Exception $e) { $connection->rollback(); if (IS_TEST) { echo $e->getMessage(); } return false; } }
public function __construct(array $options = null) { $exclude = null; $requirePassword = true; //danh cho edit if ($options["id"] != null) { $exclude = array("field" => "id", "value" => $options["id"]); $requirePassword = false; } //name $this->add(array('name' => "username", "validators" => array(array("name" => "NotEmpty", "options" => array("messages" => array(\Zend\Validator\NotEmpty::IS_EMPTY => "Dữ liệu không được rỗng")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "3", "max" => "200", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "Số ký tự phải lớn hơn hoặc bằng %min%", \Zend\Validator\StringLength::TOO_LONG => "Số ký tự phải nhỏ hơn hoặc bằng %max%")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "username", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Username đã tồn tại")), "break_chain_on_failure" => "true")))); //email $this->add(array('name' => "email", "validators" => array(array("name" => "EmailAddress", "options" => array("messages" => array(\Zend\Validator\EmailAddress::INVALID_FORMAT => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID_HOSTNAME => "Email không hợp lệ", \Zend\Validator\EmailAddress::INVALID => "Email không hợp lệ", \Zend\Validator\EmailAddress::DOT_ATOM => "Email không hợp lệ")), "break_chain_on_failure" => "true"), array("name" => "DbNoRecordExists", "options" => array("table" => "user", "field" => "email", "adapter" => GlobalAdapterFeature::getStaticAdapter(), "exclude" => $exclude, "messages" => array(\Zend\Validator\Db\NoRecordExists::ERROR_RECORD_FOUND => "Email đã tồn tại")), "break_chain_on_failure" => "true")))); //password $this->add(array('name' => "password", "required" => $requirePassword, "validators" => array(array("name" => "Regex", "options" => array("pattern" => "#^(?=.*\\d)(?=.*[A-Z])(?=.*\\W).{8,15}\$#", "messages" => array(\Zend\Validator\Regex::NOT_MATCH => "password phải có ít nhất 1 ký tự HOA,1 thường ,1 đặc biệt @,một số 1")), "break_chain_on_failure" => "true"), array("name" => "StringLength", "options" => array("min" => "8", "max" => "15", "messages" => array(\Zend\Validator\StringLength::TOO_SHORT => "mật khẩu phải có ít nhất 8 ký tự", \Zend\Validator\StringLength::TOO_LONG => "mật khẩu phải ngắn hơn 15 ký tự")), "break_chain_on_failure" => "true")))); //email $this->add(array('name' => "image", "required" => false, "validators" => array(array("name" => "FileSize", "options" => array("min" => "2KB", "max" => "2MB", "messages" => array(\Zend\Validator\File\Size::TOO_BIG => "Dung lượng lớn nhất cho phép là '%max%' nhưng '%size%' lớn hơn", \Zend\Validator\File\Size::TOO_SMALL => "Dung lượng nhỏ nhất cho phép là '%min%' nhưng '%size%' nhỏ hơn")), "break_chain_on_failure" => "true"), array("name" => "FileExtension", "options" => array("extension" => array("png", "jpg"), "messages" => array(\Zend\Validator\File\Extension::FALSE_EXTENSION => "phần mở rộng không phù hợp")), "break_chain_on_failure" => "true")))); //status $this->add(array('name' => "status", "required" => true)); }
/** * @param null|string $name */ public function __construct($serviceLocator, $options = null) { parent::__construct($serviceLocator); $this->setServiceLocator($serviceLocator); $this->setAttribute('method', 'post'); $this->setAttribute('class', 'f'); $this->setAttribute('autocomplete', 'off'); $this->setOptions(['layout' => 'form-2-cols']); $filter = $this->getInputFilter(); $group = new DisplayGroup('Signup'); $group->setLabel('Đăng kí'); $this->add($group); $fullName = new Text('fullName'); $fullName->setLabel('Tên đầy đủ của bạn'); $fullName->setAttributes(['maxlength' => 255, 'class' => 'input-xlarge inputFieldWithTitle']); $group->addElement($fullName); $this->add($fullName); $filter->add(array('name' => 'fullName', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên của bạn')))))); $username = new Text('username'); $username->setLabel('Tên đăng nhập:'); $username->setAttributes(['maxlength' => 255, 'class' => 'input-xlarge inputFieldWithTitle']); $this->add($username); $group->addElement($username); $filter->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng")))))); // code $password = new Password('password'); $password->setLabel('Mật khẩu'); $password->setAttributes(['class' => 'input-xlarge inputFieldWithTitle']); $this->add($password); $group->addElement($password); $filter->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên')))))); $password2 = new Password('password2'); $password2->setLabel('Xác nhận mật khẩu:'); $password2->setAttributes(['class' => 'input-xlarge inputFieldWithTitle']); $this->add($password2); $group->addElement($password2); $filter->add(array('name' => 'password2', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác')))))); $this->add(array('name' => 'submit', 'options' => array('clearBefore' => true), 'attributes' => array('type' => 'submit', 'value' => 'Đăng kí', 'id' => 'btnSave', 'class' => 'btn btn-primary'))); }
/** * @param null|string $name */ public function __construct($serviceLocator, $options = null) { parent::__construct($serviceLocator); $this->setServiceLocator($serviceLocator); $this->setAttribute('method', 'post'); $this->setAttribute('class', 'f'); $this->setAttribute('autocomplete', 'off'); $this->setOptions(['layout' => 'form-2-cols']); $filter = $this->getInputFilter(); $group = new DisplayGroup('Signup'); $group->setLabel('Đăng kí'); $this->add($group); // name $email = new Text('email'); $email->setLabel('Email:'); $email->setAttributes(['maxlength' => 255]); $this->add($email); $group->addElement($email); $filter->add(array('name' => 'email', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập địa chỉ email'))), array('name' => 'EmailAddress', 'break_chain_on_failure' => true, 'options' => array('messages' => array('emailAddressInvalidFormat' => 'Địa chỉ email không hợp lệ', 'emailAddressInvalidHostname' => 'Không tồn tại máy chủ mail', 'hostnameInvalidHostname' => 'Không tồn tại hostname như trên', 'hostnameInvalidLocalName' => 'Không tồn tại hostname như trên', 'hostnameLocalNameNotAllowed' => 'Không tồn tại hostname như vậy', 'emailAddressDotAtom' => 'Không tồn tại định dạng E-mail như trên', 'emailAddressQuotedString' => "Định dạng không hợp lệ", 'emailAddressInvalidLocalPart' => 'Định dạng không hợp lệ', 'hostnameUnknownTld' => 'Domain name không hợp lệ'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'email', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Email này đã được sử dụng")))))); $username = new Text('username'); $username->setLabel('Tên đăng nhập:'); $username->setAttributes(['maxlength' => 255]); $this->add($username); $group->addElement($username); $filter->add(array('name' => 'username', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập tên đăng nhập'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 4, 'messages' => array('stringLengthTooShort' => 'Tên đăng nhập phải có từ 4 đến 32 kí tự'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-z0-9_-]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Chỉ chấp nhận các kí tự là chữ thường, chữ số, dấu - và dấu _'))), array('name' => 'Db\\NoRecordExists', 'options' => array('table' => 'users', 'field' => 'username', 'adapter' => \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::getStaticAdapter(), 'messages' => array('recordFound' => "Tên đăng nhập này đã được sử dụng")))))); // code $password = new Password('password'); $password->setLabel('Mật khẩu'); $this->add($password); $group->addElement($password); $filter->add(array('name' => 'password', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa nhập Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Regex', 'break_chain_on_failure' => true, 'options' => array('pattern' => "/^[a-zA-Z0-9]{4,32}\$/", 'messages' => array('regexNotMatch' => 'Mật khẩu chỉ bao gồm chữ hoa, thường và số')))))); $password2 = new Password('password2'); $password2->setLabel('Xác nhận mật khẩu:'); $this->add($password2); $group->addElement($password2); $filter->add(array('name' => 'password2', 'required' => true, 'filters' => array(array('name' => 'StringTrim')), 'validators' => array(array('name' => 'NotEmpty', 'break_chain_on_failure' => true, 'options' => array('messages' => array('isEmpty' => 'Bạn chưa xác nhận Mật khẩu'))), array('name' => 'StringLength', 'break_chain_on_failure' => true, 'options' => array('min' => 6, 'messages' => array('stringLengthTooShort' => 'Mật khẩu phải có từ 6 kí tự trở lên'))), array('name' => 'Identical', 'break_chain_on_failure' => true, 'options' => array('token' => 'password', 'messages' => array('notSame' => 'Xác nhận mật khẩu không chính xác')))))); $this->add(array('name' => 'submit', 'options' => array('clearBefore' => true), 'attributes' => array('type' => 'submit', 'value' => 'Đăng kí', 'id' => 'btnSave', 'class' => 'btn btn-primary'))); }