Symfony2验证Angular js中的表单

时间:2013-03-26 01:20:50

标签: symfony angularjs

我正在尝试使用带有symfony2的anular js,但我正在努力将Angular集成到Symfony2

我在symfony2中有以下表单类

public function buildForm(FormBuilder $builder, array $options)
{
     $builder
     ->add('name','text')
     ->add('address','textarea',array('required'=>false))
     ->add('city','text')
     ->add('state','text',array('required'=>false))
}

我在twing中渲染表单,以下是代码

<form action="{{ path('customer_create') }}" method="post" name="form1" ng-controller="MainCtrl" {{ form_enctype(form) }} >
    {{ form_widget(form._token) }}
    <div>{{ form_label(form.name) }} {{ form_widget(form.name) }}</div>
    <div>{{ form_label(form.email) }} {{ form_widget(form.email) }}</div>
    <div>{{ form_label(form.address) }} {{ form_widget(form.address) }}</div>
    <div>{{ form_label(form.city) }} {{ form_widget(form.city) }}</div>
    <br><br><br> <button type="submit" style="float:left;text-align:left;margin-right:10px">{% trans %}Create{% endtrans %}</button>
</form>

我如何在其中使用Angular js?

2 个答案:

答案 0 :(得分:0)

您需要使用其他内容更改Angular JS {{}}

检查AngularJS-Twig conflict with double curly braces了解详情

答案 1 :(得分:0)

解决方案如下:

twig :(我正在使用boostrap)

 <div class="form-group col-sm-12">
        {{ form_label(form.tipomoneda, 'Tipo Moneda') }}
        {{ form_widget(form.tipomoneda,{'attr': {'class':'form-control', 'placeholder':'Introducir tipo de moneda', 'ng-model':'tipomoneda' }}) }}
        {{ form_errors(form.tipomoneda) }}
        <span style="color:red" ng-show="{{ form.vars.name }}['{{ form.vars.name }}[{{ form.tipomoneda.vars.name }}]'].$dirty && {{ form.vars.name }}['{{ form.vars.name }}[{{ form.tipomoneda.vars.name }}]'].$invalid">
        <span ng-show="{{ form.vars.name }}['{{ form.vars.name }}[{{ form.tipomoneda.vars.name }}]'].$error.required">Field  required.</span>
        </span>
    </div>

其中:

    <form name= "moneda" ...  will be = {{ form.vars.name }}
 <input type="text" name="moneda[tipomoneda]" ...  will be = {{ form.tipomoneda.vars.name }} 

因此解决方案是使用Javascript的对象(方括号)的属性样式访问器而不是点对象表示法。因此,我们可以在字符串中使用方括号,并且没有评估问题。