public static function renderEdit($request, $module, $action, afDomAccess $view)
 {
     $fields = $view->wrapAll('fields/field');
     $submitUrl = self::getSubmitUrl($module, $action, $view);
     $validators = afEditView::getValidators($fields);
     $fileTypes = afEditView::getFileTypes($fields);
     $result = array();
     $result['success'] = true;
     $result['af_submitUrl'] = $request->getUriPrefix() . $submitUrl;
     $instance = afEditShowRenderer::fetchDataInstance($view);
     foreach (self::getFieldValues($instance, $fields) as $name => $value) {
         $result[sprintf('edit[%s]', $name)] = $value;
     }
     $result['af_formcfg'] = self::buildFormcfg($submitUrl, $validators, $fileTypes);
     return afOutput::renderText(json_encode($result));
 }
<?php

include dirname(__FILE__) . '/../bootstrap/dbunit.php';
$t = new lime_test(3, new lime_output_color());
$doc = afConfigUtils::getDoc('networkmonitor_snmp', 'editSnmpPackage');
$view = afDomAccess::wrap($doc, 'view');
$fields = $view->wrapAll('fields/field');
$t->is(count($fields), 3);
$t->is(afEditView::getParams($fields[1], 'validator/param'), array('class' => 'SnmpPackage', 'column' => 'name', 'unique_error' => 'This name is already used. Please choose another one!'));
$validators = json_decode('{"edit[name]":{"immValidatorUnique":{"params":{"class":"SnmpPackage","column":"name","unique_error":"This name is already used. Please choose another one!"}}},"edit[template]":{"immValidatorRequired":[]}}', true);
$t->is(afEditView::getValidators($fields), $validators);