acseo / form-js-validation-bundle
此包最新版本(v1.2.0)没有可用的许可证信息。
Symfony Form Js Validation Bundle
v1.2.0
2017-10-26 09:53 UTC
Requires
- php: >=5.3.2
- symfony/symfony: >=3.0.0
This package is auto-updated.
Last update: 2024-08-29 04:37:08 UTC
README
一个为表单添加js验证的扩展包
安装
- 使用composer安装
composer require acseo/form-js-validation-bundle
- 更新AppKernel.php
<?php // app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // ... new ACSEO\Bundle\FormJsValidationBundle\ACSEOFormJsValidationBundle(), // ...
- 在parameters.yml中从validation.io和jqueryvalidation.org中选择您的js验证插件
// app/config/parameters.yml
parameters:
// ...
// to use the validation.io
acseo_form_js_validation.service: acseo_form_js_validation_io
// or to use the jqueryvalidation.org
acseo_form_js_validation.service: acseo_form_jquery_form_validator
使用
将表单验证添加到您的表单中
在控制器中添加js表单验证
<?php //... public function newAction(Request $request) { // ... $awesomeEntity = new AwesomeEntity(); $form = $this->createForm(AwesomeEntityType::class, $awesomeEntity,array( 'action' => $this->generateUrl('awesomeentity_new'), 'method' => 'POST') ); // ... $form = $this->get("acseo_form_js_validation.service")->addJsValidation($form); // ...
更新模板
使用formvalidation.io
-
在您的基模板中,使用formvalidation js和css: http://formvalidation.io/getting-started/#usage
-
在用于表单的模板中,只需更新以下代码:
<!-- new.html.twig --> {{ form_start(form, {'attr': { 'id' : 'awesome_entity_form', 'data-fv-framework' : 'bootstrap', }}) }} <!-- display your form here --> {{ form_end(form)}} <script type="text/javascript"> $(document).ready(function() { $('#awesome_entity_form').formValidation(); }); </script>
使用form jqueryvalidation.org
-
在您的基模板中,使用jqueryvalidation js和css: https://github.com/jquery-validation/jquery-validation/releases
-
在用于表单的模板中,只需更新以下代码:
<!-- new.html.twig --> {{ form_start(form, {'attr': {'id': 'awesome_entity_form'}}) }} <!-- display your form here --> {{ form_end(form)}} <script type="text/javascript"> $(document).ready(function() { $('#awesome_entity_form').validate(); }); </script>