How to add a mandatory error message to my contribution in Zend Framework 1.11?

I have the following code snippets in my /video.php forms. But I do not know where to add a message for confirmation.

$this->addElement('text','name', array(
        'label'=>'Name',
        'maxlength'=>20,
        'class'=>'name',
        'required'=>true,
        'filters'=>array('StringTrim'),
        'decorators'=>array(
            'ViewHelper',
            'Errors',
            array(array('control'=>'HtmlTag'), array('tag'=>'div', 'class'=>'fieldcontrol')),
            array('Label', array('tag'=>'div', 'class'=>'name')),
            array(array('row'=>'HtmlTag'), array('tag' => 'div', 'class'=>'row')),
        )
    ));

Instead of “The value is required and cannot be empty”, I would like to set it to something else, for example “Please enter your name”.

+3
source share
3 answers

In the end, I got this to work:

$this->addElement('text', 'age', array(
            'label'=>'Age',
            'maxlength'=>2,
            'class'=>'age',
            'required'=>true,
            'filters'=>array('StringTrim'),
            'validators'=>array(
                array(
                    'validator'=>'NotEmpty',
                    'options'=>array(
                        'messages'=>'Please enter your age.'
                    ),
                    'breakChainOnFailure'=>true
                ),
                array(
                    'validator'=>'Int',
                    'options'=>array(
                        'messages'=>'Age must be a number.'
                    ),
                    'breakChainOnFailure'=>true
                ),
                array(
                    'validator'=>'between',
                    'options'=>array(
                        'min'=>8,
                        'max'=>10,
                        'messages'=>array(
                            Zend_Validate_Between::NOT_BETWEEN => 'This is for %min% to %max% years old.'
                        )
                    )
                ),

            ),
            'decorators'=>array(
                'ViewHelper',
                'Errors',
                array(array('control'=>'HtmlTag'), array('tag'=>'div', 'class'=>'fieldcontrol')),
                array('Label', array('tag'=>'div', 'class'=>'age')),
                array(array('row'=>'HtmlTag'), array('tag' => 'div', 'class'=>'row')),
            ),
        ));
+5
source

I would most likely leave it requiredinstalled by default and use NotEmptyvalidator instead.

$this->addElement('text', 'age', array(
            'label'=>'Age',
            'maxlength'=>2,
            'class'=>'age',
            'filters'=>array('StringTrim'),
            'validators'=>array(
                array(
                    'validator'=>'Int',
                    'options'=>array(
                        'messages'=>'Age must be a number.'
                    )
                ),
                array(
                    'validator'=>'NotEmpty',
                    'options'=>array(
                        'messages'=>'Please enter your age.'
                    )
                ),
                array(
                    'validator'=>'between',
                    'options'=>array(
                        'min'=>8,
                        'max'=>10,
                        'messages'=>array(
                            Zend_Validate_Between::NOT_BETWEEN => 'Your age must be between %min% to %max%.'
                        )
                    )
                )
            ),
            'decorators'=>array(
                'ViewHelper',
                'Errors',
                array(array('control'=>'HtmlTag'), array('tag'=>'div', 'class'=>'fieldcontrol')),
                array('Label', array('tag'=>'div', 'class'=>'age')),
                array(array('row'=>'HtmlTag'), array('tag' => 'div', 'class'=>'row')),
            ),
        ));

NotEmpty() , isRequired(), , isRequired() , Zend_Form_Element. .

+1

Editted

This should do it:

...
$name = $this->getElement('name')->addErrorMessage('Please enter your name');
...
0
source

All Articles