Ejemplo n.º 1
0
 /**
  * Ensures that the validator can handle different manual dateformats
  *
  * @see    http://framework.zend.com/issues/browse/ZF-2003
  * @return void
  */
 public function testUseManualFormat()
 {
     $this->assertTrue($this->_validator->setFormat('dd.MM.YYYY')->isValid('10.01.2008'));
     $this->assertTrue($this->_validator->setFormat('MMM yyyy')->isValid('Jan 2010'));
     $this->assertFalse($this->_validator->setFormat('dd/MM/yyyy')->isValid('2008/10/22'));
     $this->assertTrue($this->_validator->setFormat('s')->isValid(0));
 }
Ejemplo n.º 2
0
 public static function overrrideDateValidator($p_format)
 {
     $validator = new Zend_Validate_Date();
     $validator->setFormat($p_format);
     $validator->setMessage(_("'%value%' does not fit the date format '%format%'"), Zend_Validate_Date::FALSEFORMAT);
     return $validator;
 }
Ejemplo n.º 3
0
 /**
  * Ensures that the validator can handle different manual dateformats
  *
  * @see    http://framework.zend.com/issues/browse/ZF-2003
  * @return void
  */
 public function testUseManualFormat()
 {
     $this->assertTrue($this->_validator->setFormat('dd.MM.YYYY')->isValid('10.01.2008'));
     $this->assertTrue($this->_validator->setFormat('MMM yyyy')->isValid('Jan 2010'));
     $this->assertFalse($this->_validator->setFormat('dd/MM/yyyy')->isValid('2008/10/22'));
     set_error_handler(array($this, 'errorHandlerIgnore'));
     $result = $this->_validator->setFormat('s')->isValid(0);
     restore_error_handler();
     if (!$this->_errorOccurred) {
         $this->assertTrue($result);
     } else {
         $this->markTestSkipped('Affected by bug described in ZF-2789');
     }
     $this->_errorOccurred = false;
 }
Ejemplo n.º 4
0
 public function isValidDate($value, $format)
 {
     if (empty($value)) {
         $message = 'Date can not be empty.';
         return array('Error' => $message);
     }
     $validator = new Zend_Validate_Date();
     $validator->setFormat($format);
     if ($validator->isValid($value)) {
         return true;
     } else {
         // value failed validation; print reasons
         foreach ($validator->getMessages() as $message) {
             return array('Error' => $message);
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * Validates expiration date
  *
  * @return boolean
  */
 protected function _validatePublicationDate()
 {
     $validator = new Zend_Validate_Date();
     $validator->setFormat('dd-MM-YYYY');
     if (!$validator->isValid($this->_job->getPublicationDate())) {
         $msg = Sanmax_MessageStack::getInstance('SxCms_Job');
         $msg->addMessage('publication_date', $validator->getMessages(), 'save');
         return false;
     }
     return true;
 }
Ejemplo n.º 6
0
 /**
  * @author Ngo Anh Long <*****@*****.**>
  * If we use Twitter_Bootstrap3_Form_Horizontal to create a element follow format such as:
  * $studentId = $this->createElement('text', 'studentId');
  * Then: Type of element you must make it in lower case 'text'
  * Because: If you make the type of element in uper case 'Text', bootstrap3 is not active for U
  * Beside that: To create a element must follow the format: 
  * $studentId = $this->createElement('text', 'studentId');
  * If you have a recommendation for me, please recomment for me
  */
 public function init()
 {
     // Add some Attributes for this form
     // Name of form is: createProfile and method is POST to itsefl
     $this->addAttribs(['name' => 'createProfile']);
     $this->setMethod("POST");
     //Student Id
     //Not empty
     // Just contains number
     // Max length: 25
     // Min length: 6
     $studentId = $this->createElement('text', 'studentId');
     $studentId->setLabel('Mã sinh viên: ');
     $studentId->setRequired();
     $studentId->addValidator('NotEmpty', true, ['messages' => ['isEmpty' => 'Mã sinh viên yêu cầu không để trống']]);
     $studentId->addValidator('digits', true, ['messages' => ['notDigits' => 'Mã sinh viên yêu cầu chỉ được là số']]);
     $studentIdLengthValidate = new Zend_Validate_StringLength();
     $studentIdLengthValidate->setMax(25);
     $studentIdLengthValidate->setMin(6);
     $studentIdLengthValidate->setMessage('Mã sinh viên tối thiểu là 6 kí tự', Zend_Validate_StringLength::TOO_SHORT);
     $studentIdLengthValidate->setMessage('Mã sinh viên có độ dài tối đa là 25 kí tự', Zend_Validate_StringLength::TOO_LONG);
     $studentId->addValidator($studentIdLengthValidate);
     // studentName :
     // Not empty
     // Just contains: Alphabet and allow white space in it
     // Max length: 50
     // Min length: 6
     $studentName = $this->createElement('text', 'studentName');
     $studentName->setLabel("Your studentName");
     $studentName->setRequired();
     $studentName->addValidator('NotEmpty', true, ['messages' => ['isEmpty' => 'Tên sinh viên yêu cầu không để trống']]);
     $studentName->addValidator('Alpha', true, ['allowWhiteSpace' => true, 'messages' => ['notAlpha' => 'Tên sinh viên chỉ là chữ']]);
     $stringLengthValidate = new Zend_Validate_StringLength();
     $stringLengthValidate->setMax(50);
     $stringLengthValidate->setMin(6);
     $stringLengthValidate->setMessage('Tên sinh viên tối thiểu là 6 kí tự', Zend_Validate_StringLength::TOO_SHORT);
     $stringLengthValidate->setMessage('Tên sinh viên có độ dài tối đa là 50 kí tự', Zend_Validate_StringLength::TOO_LONG);
     $studentName->addValidator($stringLengthValidate);
     // dateOf birth:
     // 1. Not Empty
     // 2. Must follow this format: dd/mm/YYYY
     $dateOfBirth = $this->createElement('text', 'dateOfBirth');
     $dateOfBirth->setLabel("Date of birth: ");
     $dateOfBirth->setAttrib('placeholder', 'dd/mm/YYYY');
     $dateOfBirth->setRequired();
     $dateOfBirth->addValidator('NotEmpty', true, ['messages' => ['isEmpty' => 'Ngày sinh yêu cầu không được để trống']]);
     $dateValidator = new Zend_Validate_Date();
     $dateValidator->setFormat('dd-MM-yyyy');
     $dateValidator->setMessage("Ngày sinh của bạn phải theo định dạng: dd/mm/yyyy", Zend_Validate_Date::FALSEFORMAT);
     $dateValidator->setMessage("Ngày sinh của bạn phải theo định dạng: dd/mm/yyyy", Zend_Validate_Date::INVALID_DATE);
     $dateValidator->setMessage("Ngày sinh của bạn phải theo định dạng: dd/mm/yyyy", Zend_Validate_Date::INVALID);
     $dateOfBirth->addValidator($dateValidator);
     // Gender is a Select Box
     // Default value is 1 - male
     // And 0 - Female
     // Gender don't need validate because it has default value
     $gender = $this->createElement('select', "gender");
     $gender->setValue("1");
     $gender->setLabel("Gender");
     $gender->setMultiOptions(['1' => 'Male', '0' => 'Female']);
     //        $gender->setRequired();
     //        $gender->addValidator('NotEmpty', true, [
     //            'messages' => [
     //                'isEmpty' => 'Giới tính yêu cầu không được để trống'
     //            ]
     //        ]);
     // Phone number
     // Must:
     // 1. Not empty
     // 2. Is Integer, dont allow white space
     // After this validator, when get phone number, add number 0 to head of phone number
     // Max length: 12
     // Min length: 11
     // Note: this rule follows number of Vietnamese phone number
     $phone = $this->createElement('text', 'phone');
     $phone->setLabel("Your phone: ");
     $phone->setRequired();
     $phone->addValidator('NotEmpty', true, ['messages' => ['isEmpty' => 'Số điện thoại yêu cầu không để trống']]);
     $phoneDigitValidator = new Zend_Validate_Int();
     $phoneDigitValidator->setMessage('Số điện thoại chỉ bao gồm các chữ số nguyên', Zend_Validate_Int::NOT_INT);
     $phoneLengthValidator = new Zend_Validate_StringLength();
     $phoneLengthValidator->setMax(12);
     $phoneLengthValidator->setMin(11);
     $phoneLengthValidator->setMessage('Số điện thoại tối thiểu 11 chữ số', Zend_Validate_StringLength::TOO_SHORT);
     $phoneLengthValidator->setMessage("Số điện thoại chỉ tối đa 12 chữ số", Zend_Validate_StringLength::TOO_LONG);
     $phone->addValidator($phoneDigitValidator);
     $phone->addValidator($phoneLengthValidator);
     // Address
     // Contains: 40 columns and 10 rows
     // Address can empty is Ok
     $address = $this->createElement('textarea', 'address');
     $address->setLabel("Address: ");
     $address->setAttrib('cols', '40');
     $address->setAttrib('rows', '10');
     // Submit button
     $submit = $this->createElement('submit', 'submit');
     // Add element to this form
     $this->addElements([$studentId, $studentName, $dateOfBirth, $gender, $phone, $address, $submit]);
 }