Проблема заключается в отправке данных формы с клиента на Zend Controller. Я хочу проверить форму, используя метод isValid () формы. Но это всегда возвращает ложь. Я думаю, что я не могу дать данные правильного формата для $ formData-> setData (). Подробности приведены ниже.
.....
var fData = $('#responsibleAddressForm').serializeArray();
$.ajax({
url: '/vvt/controller /storeResponsibleAddress',
data: fData,
type: 'POST',
dataType: 'json',
async: true,
success: function(controller) {
alert("in success!");
//$("#wpno-vvt-contacts").html(contactsHtml);
},
error : function(xhr, textStatus, errorThrown) {
alert('Ajax request failed.');
}
});
.....
But when I try to validate the form data on controller, as follows:
....
if($this->getRequest()->isPost())
{
// Fill in the form with POST data
$form = new ControllerForm($this->entityManager);
$view->setTerminal($request->isXmlHttpRequest());
$data = $this->params()->fromPost();
$form->setData($data);
// Validate form
if($form->isValid()) {
.....
isValid всегда ложно. Я предполагаю, что он возвращает false, потому что я даю строку, закодированную в URL, которая не является правильным форматом, который принимает setData. Теперь, если это причина, то каков правильный формат, который приемлем для setData и как мне это получить?