У меня есть форма для загрузки файла CSV. Он запрашивает разделитель и файл CSV:
public function init()
{
$this->setName('UploadCsvForm');
$delimiter = new Zend_Form_Element_Text('delimiter');
$delimiter->setLabel('Delimiter')
->setValue(',')
->setAttrib('size', 2);
$csv = new Zend_Form_Element_File('csvFile');
$csv->setLabel(
'Pick a CSV file to upload')
->setRequired(true)
->addValidator('Count', false, 1)
->addValidator('Extension', false, 'csv')
->addValidator('Size', false, 102400)
->setDestination('/tmp');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Upload bestand');
$this->addElements(array($delimiter, $csv, $submit));
}
У меня есть собственный файл CSV Validate, который расширяет Zend_Validate_Abstract. Это работает, но я хочу иметь возможность проверить мой введенный CSV-файл формы с ним.
Я могу добавить что-то вроде этого, но так как $ delimiter еще не установлен, он не будет работать.
->addValidator(new Custom_Validate_Csv(array('name', 'postcode'), $delimiterString), false)
Есть идеи?
Спасибо.