massil / jsformvalidator-bundle
sf2表单的JavaScript验证。
1.4.0
2016-03-29 09:53 UTC
Requires
- php: >=5.3.2
- symfony/form: ^2.7|^3.0
- symfony/validator: ^2.7|^3.0
Requires (Dev)
- behat/mink-bundle: dev-master
- behat/mink-selenium2-driver: ^1.1.0
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: >=2.2.3
- phpunit/phpunit: 3.7.*
- ptcong/php-image-uploader: ^6.0
- satooshi/php-coveralls: 1.0.*
- se/selenium-server-standalone: 2.*
- symfony/assetic-bundle: >=2.5
- symfony/symfony: ^3.0
Suggests
- doctrine/doctrine-bundle: For the UniqueEntity validation
- doctrine/orm: For the UniqueEntity validation
- symfony/assetic-bundle: For easy enabling
- symfony/symfony: For using as a Symfony Bundle and for using a default ajax validation
README
本模块可以在JavaScript端验证Symfony 3表单。它将表单类型约束转换为JavaScript验证规则。
如果您使用的是Symfony 2.8.*或2.7.*,则需要使用版本1.3.*。如果您使用的是Symfony 2.6.*或更早版本,则需要使用版本1.2.*。
1 安装
1.1 使用composer下载FpJsFormValidatorBundle
在终端运行
$ php composer.phar require "fp/jsformvalidator-bundle":"dev-master"
或者,如果您不想遇到意外问题,最好使用精确的版本。
$ php composer.phar require "fp/jsformvalidator-bundle":"v1.4.*"
1.2 启用组件
启用组件
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Fp\JsFormValidatorBundle\FpJsFormValidatorBundle(), ); }
1.3 启用JavaScript库
<html> <head> {{ include('FpJsFormValidatorBundle::javascripts.html.twig') }} </head> <body> </body> </html>
1.4 添加路由
如果您使用的是UniqueEntity约束,那么您需要在路由配置中包含以下部分:app/config/routing.yml
# ... fp_js_form_validator: resource: "@FpJsFormValidatorBundle/Resources/config/routing.xml" prefix: /fp_js_form_validator
请确保您的安全设置不会阻止这些路由。
2 使用
完成前面的步骤后,JavaScript验证将自动启用您所有的表单。
- 禁用验证
- 如果您的表单位于子请求中
- 如果您需要单独初始化表单的JS验证或通过某些事件,在这种情况下,您需要遵循这些步骤而不是第1.3章。
3 定制
前言
此组件为symfony表单的每个元素查找相关的DOM元素,并将其附加到特殊对象validator。该对象包含一组属性和方法,这些属性和方法完全定义了相关表单元素的验证过程。其中一些属性和方法可以更改以定制验证过程。
如果您以某种程度定制了表单渲染,请阅读此说明。