update form library

This commit is contained in:
JaguarJack
2021-05-26 18:37:27 +08:00
parent 454dd3deff
commit 4b30123aa4
2 changed files with 46 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ namespace catcher\library\form;
use catcher\exceptions\FailedException; use catcher\exceptions\FailedException;
use catcher\library\form\components\AreaTrait; use catcher\library\form\components\AreaTrait;
use catcher\library\form\components\DatePicker;
use catcher\library\form\components\Editor; use catcher\library\form\components\Editor;
use FormBuilder\Exception\FormBuilderException; use FormBuilder\Exception\FormBuilderException;
use FormBuilder\Factory\Elm; use FormBuilder\Factory\Elm;
@@ -38,6 +39,7 @@ use FormBuilder\UI\Elm\Traits\TimePickerFactoryTrait;
use FormBuilder\UI\Elm\Traits\TreeFactoryTrait; use FormBuilder\UI\Elm\Traits\TreeFactoryTrait;
use FormBuilder\UI\Elm\Traits\UploadFactoryTrait; use FormBuilder\UI\Elm\Traits\UploadFactoryTrait;
use FormBuilder\UI\Elm\Traits\ValidateFactoryTrait; use FormBuilder\UI\Elm\Traits\ValidateFactoryTrait;
use FormBuilder\UI\Elm\Validate;
abstract class Form abstract class Form
{ {
@@ -331,4 +333,30 @@ abstract class Form
return new Editor($field, $title, $value); return new Editor($field, $title, $value);
} }
/**
* 日期组件
*
* @param string $field
* @param string $title
* @param string $value
* @param string $type
* @return DatePicker
*/
public static function datePicker($field, $title, $value = '', $type = DatePicker::TYPE_DATE_TIME): DatePicker
{
return (new DatePicker($field, $title, $value))->type($type);
}
/**
* 日期验证
*
* @time 2021年05月26日
* @param string $trigger
* @return Validate
*/
public static function validateDate($trigger = Validate::TRIGGER_CHANGE): Validate
{
return new Validate('', $trigger);
}
} }

View File

@@ -0,0 +1,18 @@
<?php
namespace catcher\library\form\components;
use catcher\library\form\Form;
use FormBuilder\Driver\FormComponent;
use FormBuilder\Factory\Elm;
use FormBuilder\UI\Elm\Validate;
class DatePicker extends \FormBuilder\UI\Elm\Components\DatePicker
{
public function createValidate()
{
if ($this->isRange() || $this->isMultiple())
return Elm::validateArr();
else
return new Validate('', Validate::TRIGGER_CHANGE);
}
}