定制 omerucel/form 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

omerucel/form

Composer 安装命令:

composer require omerucel/form

包简介

关键字:

README 文档

README

Build Status

About

This library provides clean and an easy solution for form validation process. It's using respect/validation package for validation part.

Composer

{
    "require": {
        "omerucel/form": "1.0.0"
    }
}

Usage

There's two options to use. First way is to extend OU\Form\Form class and it is clean way to use this library.

<?php

namespace {

    use OU\Form\Field;
    use OU\Form\Message\DangerMessage;
    use OU\Form\Message\SuccessMessage;
    use Respect\Validation\Rules;
    use Symfony\Component\HttpFoundation\Request;

    $request = Request::createFromGlobals();
    $form = new RegistrationForm($request);
    if ($form->validate()) {
        // Complete form action
        $form->setCompleted(true);
        $form->addMessage(new SuccessMessage('User created.'));
    } else {
        $form->addMessage(new DangerMessage('Please try again.'));
    }
    
    class RegistrationForm extends OU\Form\Form
    {
        public $email;
        public $password;
        
        public function __construct(Request $request)
        {
            $this->email = new Field($request->get('email'));
            $this->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.'));
            $this->password = new Field($request->get('password'));
            $this->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.'));
            $this->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.'));
        }
    }
}

Another way is using OU\Form\Form class directly.

<?php

namespace {

    use OU\Form\Form;
    use OU\Form\Field;
    use OU\Form\Message\DangerMessage;
    use OU\Form\Message\SuccessMessage;
    use Respect\Validation\Rules;
    use Symfony\Component\HttpFoundation\Request;

    $request = Request::createFromGlobals();
    $form = new Form();
    $form->email = new Field($request->get('email'));
    $form->email->addRule(new Rules\Email(), new DangerMessage('Invalid email address.'));
    $form->password = new Field($request->get('password'));
    $form->password->addRule(new Rules\NotEmpty(), new DangerMessage('Password is empty.'));
    $form->password->addRule(new Rules\Length(8), new DangerMessage('Password is too short.'));
    
    if ($form->validate()) {
        $form->setCompleted(true);
        $form->addMessage(new SuccessMessage('User created.'));
    } else {
        $form->addMessage(new DangerMessage('Please try again.'));
    }
}

You can extend Respect\Validation\Rules\AbstractRule class or implement Respect\Validation\Validatable interface to create your own validation rule. Please check it's documentation for this.

统计信息

  • 总下载量: 47
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2017-07-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固