Rose :: HTML :: Form

Rose :: HTML :: Form é uma classe base de formulário HTML.
Baixe Agora

Rose :: HTML :: Form Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • John C. Siracusa
  • Site do editor:
  • http://search.cpan.org/~jsiracusa/

Rose :: HTML :: Form Tag


Rose :: HTML :: Form Descrição

Rose :: HTML :: Form é uma classe base de formulário HTML. Rose :: HTML :: Form é um formulário HTML Base Classe.Synopsis Pacote PersonForm; Use Rose :: HTML :: Form; Nosso @isa = QW (Rose :: HTML :: Form); usar pessoa; sub build_form {my ($ auto) = mudança; $ auto-> Add_fields (nome => {tipo => 'texto', tamanho => 25, obrigatório => 1}, e-mail => {tipo => 'E-mail', tamanho => 50, obrigatório => 1}, telefone => {tipo => 'telefone'},); } Sub validar {my ($ auto) = mudança; # Classe Base validará campos individuais em isolamento, # Confirmando que todos os campos obrigatórios são preenchidos e que # O endereço de e-mail e o número de telefone são formatados corretamente. Meu $ OK = $ Self-> Super :: validate (@_); retornar $ ok a menos que ($ ok); # Validação de inter-campo vai aqui se ($ self-> field ('nome') -> internal_value ne 'john doe' $ auto-> campo ('telefone') -> internal_value = ~ / ^ 555 /) {$ -> Erro ('Apenas John Doe pode ter um número de telefone 555'); return 0; } return 1; } subit_with_person # dar um nome mais amigável para um método de classe base {my ($ self, $ pessoa) = @_; $ self-> init_with_object ($ pessoa); } Sub Person_From_Form {My ($ Auto) = Shift; # Método de classe base faz a maior parte do trabalho Minha $ Person = $ Self-> Object_From_form (Class => 'Pessoa'); # Agora preencha os detalhes não-óbvios ... # e., Defina o telefone ALT para ser o mesmo que o telefone regular $ Person-> Alt_phone ($ self-> field ('Telefone') -> internal_value); retornar $ Pessoa; } ... # # Uso da amostra em um aplicativo web hipotético # $ form = personForm-> Novo; if (...) {# Obter parâmetros de consulta em um HASH Ref e passar para o formulário Meus $ params = mywebserver-> get_query_params (); $ form-> params ($ params); # ... ou inicialize params de formulário de um objeto CGI # $ form-> params_from_cgi ($ CGI); # $ cgi "isa" cgi # ... ou inicialize params a partir de um objeto de solicitação do Apache # (mod_perl 1 e 2 ambos suportados) # $ form-> params_from_apache ($ R); # Inicialize os campos com base nos params $ form-> init_fields (); a menos que ($ form-> validar) {retorno error_page (error => $ form-> erro); } $ Person = $ form-> person_from_form; # $ pessoa é uma pessoa objeto do_something_with ($ pessoa); ...} else {$ pessoa = ...; # Obter ou criar um objeto de pessoa de alguma forma, inicialize o formulário com a pessoa objeto $ form-> init_with_person ($ pessoa); # Passe o objeto de formulário inicializado para o molde display_page (form => $ form); } ... Rose :: HTML :: Form é mais do que apenas uma representação de objetos da tag HTML. É destinado a ser uma classe base para classes de formulário personalizadas que podem ser inicializadas e retornam valores "ricos" como objetos ou coleções de objetos. Construindo uma biblioteca reutilizável de classes de formulário é extremamente útil ao construir grandes aplicativos da Web com formulários que pode aparecer em muitos lugares diferentes. Formas semelhantes podem herdar de uma subclasse comum, e os formulários podem ser aninhados. Esta aula herda e segue as convenções de, Rose :: HTML :: Object. Métodos herdados que não são substituídos não serão documentados uma segunda vez aqui. Veja a Rose :: HTML :: Documentação de objetos para mais informações. Requisitos: · Perl.


Rose :: HTML :: Form Software Relacionado