massil / jsformvalidator-bundle

sf2表单的JavaScript验证。

安装: 16

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 56

类型:symfony-bundle

1.4.0 2016-03-29 09:53 UTC

README

Build Status Total Downloads

本模块可以在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验证将自动启用您所有的表单。

  1. 禁用验证
  2. 如果您的表单位于子请求中
  3. 如果您需要单独初始化表单的JS验证或通过某些事件,在这种情况下,您需要遵循这些步骤而不是第1.3章

3 定制

前言

此组件为symfony表单的每个元素查找相关的DOM元素,并将其附加到特殊对象validator。该对象包含一组属性和方法,这些属性和方法完全定义了相关表单元素的验证过程。其中一些属性和方法可以更改以定制验证过程。

如果您以某种程度定制了表单渲染,请阅读此说明

  1. 禁用指定字段的验证
  2. 错误显示
  3. 从闭包中获取验证组
  4. 获取器验证
  5. 回调约束
  6. 选择约束。如何从回调获取选择列表
  7. 自定义约束
  8. 自定义数据转换器
  9. 检查实体的唯一性
  10. 通过JavaScript提交表单
  11. onValidate回调
  12. 在自定义事件上运行验证
  13. 集合验证