привет, у меня есть форма, где пользователь может нажать на кнопку и динамически добавлять новые элементы (с помощью Jquery)
<input name="sconto[]" type="text"><br>
<input name="sconto[]" type="text"><br>
<input name="sconto[]" type="text"><br>
...
У меня есть собственный валидатор для чисел с плавающей запятой в формате с разделением запятыми и точками, например 20.50 и 20,50
Проблема в том, что я не могу найти, как заставить Zend применить его к каждому элементу массива.
Так как мне объявить этот элемент и как применить валидатор? XD
это мой валидатор
protected $_messageTemplates = array(
self::NON_E_NUMERO => 'non sembra essere un numero'
);
public function isValid($value, $context = null)
{
$pos_virgola = strpos($value, ",");
if ($pos_virgola !== false)
$value = str_replace(",", ".", $value);
if (!is_numeric($value))
{
$this->_error(self::NON_E_NUMERO, $value);
return false;
}
else
return true;
}
}
форма, я не знаю, как это сделать, я использую это, но, очевидно, это не работает
$sconto = $this->createElement('text','sconto')->setLabel('sconto');
//->setValidators(array(new Gestionale_Validator_Float()));
$this->addElement($sconto);
...
$sconto->setDecorators(array(//no ViewHelper
'Errors',
'Description',
array(array('data' => 'HtmlTag'), array('tag' => 'td', /*'class' => 'valore_campo', */'id'=>'sconto')),
array('TdLabel', array('placement' => 'prepend', 'class' => 'nome_campo'))
));