Symfony2表单验证Safari

时间:2015-12-06 18:10:09

标签: php html5 forms symfony safari

好吧,我实际上在Chrome,Firefox和IE中测试了我的表单代码,但是当朋友在他的Mac上测试我的表单时,我发现必填字段不起作用,因为Safari不接受所需的类。因此,当我按下发送按钮时,在表单的最后,我收到了数据库错误并且崩溃了。

我搜索了Symfony文档,然后在表单类中找到了这段代码:

public function setDefaultOptions(OptionsResolverInterface $resolver) {
    $collectionConstraint = new Collection(array(
    'name' => array(
        new NotBlank(array('message' => 'Name should not be blank.')),
    )
    ));

    $resolver->setDefaults(array(
        'constraints' => $collectionConstraint
    ));
}

但似乎什么也没做。我还把这个实体类放在了:

/**
 * @Assert\NotBlank()
 */
public $name;

仍然得到错误。有什么想法我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

Safari的问题在于它识别HTML5必需属性,但它不会阻止表单被提交。你需要使用javascript来检查它。

This post should help with that.