---恢复内容开始---

构成表单的几个元素

1.数据模型 M

一种比较抽象的概念,按我的理解来说,本质上就是数据的一种存在形式,可以看做一个类,一般对这些模型进行crud操作。一种是真实存在的数据模型,最终要存储到数据库当中的数据,另一种

是虚拟的数据模型,构建出来是为了进行临时处理,比如网页搜索框输入的内容,最终并不会存储到数据库当中,是为了进行页面的临时处理而进行的, 或者是为了构建数据而设计的

模型,程序和程序之间的枢纽。并且数据模型有自身的属性和限制条件,比如搜索操作或者用户注册操作是有一定限制的,不能输入不合理的数据,example,手机号码为11位

2.V 表单的hrml,js,css等

用于设置表单的格式,让表单更为美观,可以使用一些现有的html框架,比如网页上的搜索框,一些框架就可以设置候选项等,

3.C 负责处理业务逻辑的代码,通过表单提交数据之后,进行的增删改查等操作,注意这里逻辑分为自身的业务逻辑或者数据模型当中的业务逻辑

...之前好像没有在twig里面配置html代码,所以程序无法正常运行,等之后再说吧,

早上写了忘记保存,后面写的没有了,有点粗心,,,,先放一些代码供自己以后参考吧

 public function indexFunction(){
$user = new User();
$form = $this->createFormBuilder($user) //创建关于user的表单, 并设置要添加的属性,
->setAction($this->generateUrl('abc')) //像abc路由对应的方法提交表单方法为get
->setMethod('GET')
->add('email')
->add('password','password')
->add('submit','submit',array('attr'=>array('formnovalidate'=>'formnovalidate')))
->add('file','file') //上传文件
->getForm(); //获取表单,并在关闭html5的表单验证 $form->handleRequest($this->getRequest()); //让symfony对表单的请求进行验证操作 if($form->isValid()){ //如果验证合法的话,就更新入数据库当中 $em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
} return array('form'=>$form->createView()); //显示表单
}
/**
* @ORM\Column(type="integer",nullable=true)
* @Assert\Length(min=1,max=5)
* 在entities里面设置验证规则
*/
protected $age; //添加一个字段测试

symfony-表单学习的更多相关文章

  1. HTML表单学习

    HTML表单学习 前言 HTML基础学习会由HTML基础标签学习.HTML表单学习和一张思维导图总结HTML基础三篇文章构成,文章中博主会提取出重点常用的知识和经常出现的bug,提高学习的效率,后续会 ...

  2. HTML5表单学习笔记

    表单在网页设计中的作用非常重要,HTML5又增加了表单方面的诸多功能,包括增加input输入类型,input属性,form元素,form属性等,解决了我们以前比较头疼或者繁琐的功能. 新增的输入类型 ...

  3. Form表单学习网站

    HTML表单 -- form标签 -- 与浏览者交互:http://www.dreamdu.com/xhtml/tag_form/

  4. html表单---学习笔记03

    第8章 表单 8.1 表单标记<form> <form name="表单名称" method="提交方法" action="处理程序 ...

  5. Django Form表单学习总结

    Form中添加自定义的验证:    1.对特定字段属性的验证;    2.包含多字段的验证. 先创建一个简单的Form: from django import forms class ContactF ...

  6. Html学习之十八(表格与表单学习--统计表制作)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Html学习之十七(表格与表单学习--排行版制作)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. HTML5 表单学习

    创建表单的方法: 用form标签 form标签常用元素:input:单行表单.select:下拉式表单.textarea:多行文本域 input元素的type属性:text:文本属性.checkbox ...

  9. 18 12 24 html 表单学习

    html表单 表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,相关标签及属性用法如下: 1.<form>标签 定义整体的表单区域 action属性 定义表单数据提交地址 meth ...

  10. JS表单学习笔记(思维导图)

    导图

随机推荐

  1. [十二省联考2019]字符串问题——后缀自动机+parent树优化建图+拓扑序DP+倍增

    题目链接: [十二省联考2019]字符串问题 首先考虑最暴力的做法就是对于每个$B$串存一下它是哪些$A$串的前缀,然后按每组支配关系连边,做一遍拓扑序DP即可. 但即使忽略判断前缀的时间,光是连边的 ...

  2. POJ - 3616 Milking Time (动态规划)

    Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that sh ...

  3. 二、java基本语法

    一.标识符 java对各种变量.方法和类等要素命名时使用的字符序列成为标识符:通俗点,凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则 1.标识符命名规则: 1)标识符由字符.下划线.美元符或数 ...

  4. 锁(1):spin_lock & mutex_lock的区别? .

    为什么需要内核锁? 多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理   有哪些内核锁机制? (1)原子操作 atomic ...

  5. 第六节:反射(几种写法、好处和弊端、利用反射实现IOC)

    一. 加载dll,读取相关信息 1. 加载程序集的三种方式 调用Assembly类下的三个方法:Load.LoadFile.LoadFrom. //1.1 Load方法:动态默认加载当前路径下的(bi ...

  6. [物理学与PDEs]第5章第5节 弹性动力学方程组及其数学结构

    5.5.1 线性弹性动力学方程组   1.  线性弹性动力学方程组 $$\beex \bea 0&=\rho_0\cfrac{\p{\bf v}}{\p t}-\Div_x{\bf P}-\r ...

  7. C++设计模式——备忘录模式

    备忘录模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对备忘录模式是这样说的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢 ...

  8. tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理

    tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理 现象:访问订单的 ...

  9. OpenCV3编程入门-读书笔记1

    一.OpenCV概述 1.OpenCV全程Open Source Computer Vision Library,即开源计算机视觉库.它是一个跨平台的开源计算机视觉库,可以运行在windows.lin ...

  10. 51nod--1135 原根 (数论)

    题目: 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m)表示m的欧拉函数) 给出1个质数P,找出P最小的原根. Input 输入1个质数P(3 <= P ...