public function testFormatCustomMessage() { $options = array('with' => '[alpha]', 'message' => 'has to be made of letters'); $validation = Mad_Model_Validation_Base::factory('format', 'string_value', $options); $this->model->string_value = 'abc123'; $validation->validate('save', $this->model); $this->assertEquals(array('has to be made of letters'), $this->model->errors->on('string_value')); }
public function testFactoryUniqueness() { $validation = Mad_Model_Validation_Base::factory('uniqueness', '', array()); $this->assertTrue($validation instanceof Mad_Model_Validation_Uniqueness); }
/** * Add a validation rule to this controller * * @param string $type * @param string|array $attributes * @param array $options */ protected function _addValidation($type, $attributes, $options) { foreach ((array) $attributes as $attribute) { $this->_validations[] = Mad_Model_Validation_Base::factory($type, $attribute, $options); } }
public function testLengthCustomWrongLength() { $options = array('is' => 5, 'wrongLength' => 'is totally wrong. must be %d'); $validation = Mad_Model_Validation_Base::factory('length', 'string_value', $options); $this->model->string_value = 'abcd'; $validation->validate('save', $this->model); $this->assertEquals(array('is totally wrong. must be 5'), $this->model->errors->on('string_value')); }
public function testUniqueCustomMessage() { $this->fixtures('unit_tests'); $options = array('message' => 'already exists. Choose another'); $validation = Mad_Model_Validation_Base::factory('uniqueness', 'string_value', $options); $this->model->string_value = 'name a'; $validation->validate('save', $this->model); $this->assertEquals(array('already exists. Choose another'), $this->model->errors->on('string_value')); }
public function testNumericalityCustomMessage() { $options = array('message' => 'has to be un numero!'); $validation = Mad_Model_Validation_Base::factory('numericality', 'integer_value', $options); $this->model->integer_value = 'abc'; $validation->validate('save', $this->model); $this->assertEquals(array('has to be un numero!'), $this->model->errors->on('integer_value')); }
public function testPresenceCustomMessage() { $options = array('message' => 'is empty foo!'); $validation = Mad_Model_Validation_Base::factory('presence', 'string_value', $options); $this->model->string_value = ''; $validation->validate('save', $this->model); $this->assertEquals(array('is empty foo!'), $this->model->errors->on('string_value')); }
public function testValidateCanDisplayCustomMessage() { $options = array('in' => array('bar'), 'message' => 'custom'); $validator = Mad_Model_Validation_Base::factory('inclusion', 'string_value', $options); $this->model->string_value = 'foo'; $validator->validate('save', $this->model); $this->assertEquals(array('custom'), $this->model->errors->on('string_value')); }