我通过AJAX CALL验证了表单,但无法检索“错误消息”。
这是我所说的:
$newRdvForm = $this->createForm(new RdvType());
$newRdvForm->handleRequest($request);
if ($newRdvForm->isValid()) {
// set of instructions to be performed when the form is valid
}
else {
$errors= array();
foreach ($newRdvForm->getErrors() as $key => $error) {
$errors[$key] = $error->getMessage();
}
$response = new Response(json_encode($errors));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
Run Code Online (Sandbox Code Playgroud)
我使用了symfony 2.7。上面的代码不会检索错误消息。
首先,我通过以下cmd 创建了symfony文件:
php -r "file_put_contents('symfony', file_get_contents('https://symfony.com/installer'));"
Run Code Online (Sandbox Code Playgroud)
之后,我执行以下命令来创建symfony项目:
php symfony new my_project 2.8
Run Code Online (Sandbox Code Playgroud)
结果 :
[GuzzleHttp\Exception\RequestException] cURL错误60:SSL证书问题:无法获取本地颁发者证书
那么,这个问题有解决方案吗?
我创建了以下 fom 类,但没有使用实体:
<?php
// src/OC/PlatformBundle/Form/AdvertType.php
namespace OC\PlatformBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('date', 'date')
->add('title', 'text')
->add('save', 'submit')
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array());
}
public function getName()
{
return 'my_form';
}
}
Run Code Online (Sandbox Code Playgroud)
我想添加一组验证约束来验证此表单。