Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法,zendzend_form
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法,zendzend_form
本文实例讲述了Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法。分享给大家供大家参考,具体如下:
同时公司又要开发一个群组功能..我也就想运用一下Zend_Form来实现创建群组的功能.主要还是看中Zend_Form可以在写Form时候.实现服务器端的验证功能..省得我们在把数据提交到数据库的时候再验证一次..所以呢.我就看了一下这方面的手册..通过Zend Framework手册找到了相关的使用说明...最简单的使用方式就是在控制器(Controller)里写一个现成的Action,这样..在这个控制器里就可以直接使用这个Action...代码可以如下:
<?php public function formAction() { $form=new Zend_Form(); $form->setName('group'); $title = new Zend_Form_Element_Select('title'); $title ->setLabel('性别') ->setMultiOptions(array('mr'=>'Mr', 'mrs'=>'Mrs')) ->setRequired(true) ->addValidator('NotEmpty', true); $yourName = new Zend_Form_Element_Text('firstName'); $yourName->setLabel('姓名') ->setRequired(true) ->addValidator('NotEmpty', true) ; $email = new Zend_Form_Element_Text('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('group'); $form->addElements(array($title, $yourName,$email,$submit)); } ?>
当然..我也可以把这个Form专门写成一个类...存放在一个forms共同的目录下.这样就方便我们管理我们所有的Form表单..我的实现方式就是把它放在和控制器(Controller)的同一级别的目录下...这样管理起来也方便..当然不同的朋友..有不同的想法...另一种方式..就是可以把它写成View Helper...这个方式实现起来,,也很方便..这里我就不想多写了...Zend Framework实现起来很方便...只要你想的到...无论你怎样完成你的任务,,都是可以的..在这里我就不多说其它的...我只想谈一下怎样让Zend_Form实现中文的提示信息功能...我这里有二种方法..
第一:比较笨的方式就是:如果你的网站不要做成多国语言的网站..同时你的Zend Framework版本不是经常更换的话...你就可以找到相关提示信息的源码...更改成中文的提示.
这个笨方法..实在是没有办法的办法...呵呵...
第二:我也是在英文站...看到的一个比较好的方式,就是通过重写这个提示信息.把它换成我们想要的语言...这样...就算我们会去换语言..或是换Zend Framework的版本..
对我们的影响也不是很大...我们只要更改一下我们的Form的表单就可以搞定了..现在这种方式的代码如下(我这里只写了Email提示信息..其它的不要多写出):
<?php $email = new Zend_Form_Element_Text('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) ->addValidator('NotEmpty') ->addValidator('EmailAddress',true,array('messages' => array( 'emailAddressInvalid' => '这不是一个可用的电子邮件!', 'emailAddressInvalidHostname' => '这不是一个有效的主机名!', 'emailAddressInvalidMxRecord' => '这不是一个有效的电子邮件地址!', 'emailAddressDotAtom' => '这不是一个有效的电子邮件地址!', 'emailAddressQuotedString' => '这不是一个有效的电子邮件地址!', 'emailAddressInvalidLocalPart' => '这不是一个有效的电子邮件地址!', ))); ?>
到这里..Zend_Form这个组件还有一个比较重要的功能..就是Zend_Form_Decorator..手册上称为装饰器,也就是说你可以自己写你想要的装饰器..比如说..你要把你的Form用Table包含起来..我们要怎样实现呢?这个时候..我们就要用到比如说HtmlTag,Label这些装饰器来达到我们想要的功能...这里是一个比较重要的概念了..有兴趣的朋友可以去去看一下...因为如果你想要用Zend_Form这个组件..不会装饰器因该用起来会很困难..所以必须要会这个东西..才可以创建你自己想要的表单功能..最后..就是一点装饰器的小运用
我只是实现一个小的功能...如下代码:
<?php $email = new Zend_Form_Element_Text('email'); $email->setLabel('电子邮件地址') ->addFilter('StringToLower') ->setRequired(false) //利用装饰器来增加td标签 ->addDecorator('HtmlTag', array('tag' => 'td')) ->addDecorator('Label', array('tag' => 'td')) //重复利用HtmlTag装饰器来增加tr标签 ->addDecorator(array('FooTr' => 'HtmlTag'), array('tag' => 'tr')) ->addValidator('NotEmpty'); ?>
哈哈....大致的运用就是这样了...最后..就是验证提交的数据了...看如何验检验用户提交的数据....这里就不多说了...OK...
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
- Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
- Zend Framework教程之Zend_Db_Table_Row用法实例分析
- Zend Framework教程之Zend_Db_Table用法详解
- Zend Framework开发入门经典教程
- Zend Framework框架Smarty扩展实现方法
- Zend Framework框架路由机制代码分析
- Zend Framework实现具有基本功能的留言本(附demo源码下载)
- Zend Framework实现将session存储在memcache中的方法
- Zend Framework分页类用法详解
- Zend Framework实现多文件上传功能实例
- Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
- Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
- Zend Framework教程之Zend_Db_Table表关联实例详解

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Layui 로그인 페이지 점프 설정 단계: 점프 코드 추가: 로그인 양식 제출 버튼 클릭 이벤트에 판단을 추가하고, 로그인 성공 후 window.location.href를 통해 지정된 페이지로 점프합니다. 양식 구성 수정: 숨겨진 입력 필드를lay-filter="login"의 양식 요소에 추가합니다. 이름은 "redirect"이고 값은 대상 페이지 주소입니다.

layui를 사용하는 프런트엔드 및 백엔드 상호 작용에는 다음과 같은 방법이 있습니다. $.ajax 방법: 비동기 HTTP 요청을 단순화합니다. 사용자 정의 요청 개체: 사용자 정의 요청을 보낼 수 있습니다. 양식 제어: 양식 제출 및 데이터 유효성 검사를 처리합니다. 업로드 제어: 파일 업로드를 쉽게 구현합니다.

layui는 양식의 모든 필드 데이터를 직접 가져오는 방법, 단일 양식 요소의 값을 가져오는 방법, formAPI.getVal() 메서드를 사용하여 지정된 필드 값을 가져오는 방법, 양식 데이터를 직렬화하는 방법 등 양식 데이터를 가져오는 다양한 방법을 제공합니다. 이를 AJAX 요청 매개변수로 사용하면 양식 제출 이벤트를 수신하여 데이터를 가져옵니다.

서블릿은 Java 웹 애플리케이션에서 클라이언트-서버 통신을 위한 브리지 역할을 하며 클라이언트 요청 처리, 웹 콘텐츠 동적으로 생성, HTTP 세션 상태 관리 및 보안 제공을 담당합니다.

Vue.js에서 event는 브라우저에 의해 트리거되는 기본 JavaScript 이벤트인 반면, $event는 Vue 구성 요소에서 사용되는 Vue 관련 추상 이벤트 객체입니다. $event는 데이터 바인딩을 지원하도록 형식이 지정되고 향상되었으므로 일반적으로 $event를 사용하는 것이 더 편리합니다. 기본 이벤트 객체의 특정 기능에 액세스해야 하는 경우 이벤트를 사용하세요.

PHP를 사용하여 단일 페이지 애플리케이션(SPA)을 구축하는 단계: PHP 파일을 만들고 Vue.js를 로드합니다. Vue 인스턴스를 정의하고 텍스트 입력 및 출력 텍스트가 포함된 HTML 인터페이스를 만듭니다. Vue 구성 요소가 포함된 JavaScript 프레임워크 파일을 만듭니다. JavaScript 프레임워크 파일을 PHP 파일에 포함합니다.

DOM(Document Object Model)은 HTML/XML 문서의 트리 구조에 액세스하고, 조작하고, 수정하기 위한 API입니다. 이는 문서, 요소, 텍스트 및 속성 노드를 포함하는 노드 계층 구조로 문서를 나타내며 다음과 같은 용도로 사용할 수 있습니다. 및 수정 문서 구조 요소 스타일 액세스 및 수정 사용자 상호 작용에 응답하여 HTML 콘텐츠 생성/수정

JavaServlet은 1. 동적 콘텐츠 생성, 2. 데이터 액세스 및 처리, 4. 파일 업로드, 6. 필터, 예: 양식 제출을 처리하고 이름과 이메일을 매개변수로 사용하고 Success.jsp로 리디렉션하는 FormSubmitServlet을 만듭니다.
