功能注解
{info} 表单生成类支持注解功能,可通过注解快速设置组件的一些属性和验证规则
设置组件的布局规则
use FormBuilder\Annotation\Col;
/**
* @Col(8)
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
//或者
/**
* @Col({"span":12})
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
设置组件的简介
use FormBuilder\Annotation\Info;
/**
* @Info("设置商品名称,10-30个字")
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
设置组件的emit
use FormBuilder\Annotation\Emit;
/**
* @Emit({"change","click"}, prefix="name")
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
设置组件的class
use FormBuilder\Annotation\ClassName;
/**
* @ClassName("goods_name")
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
设置组件必填
use FormBuilder\Annotation\Validate\Required;
/**
* @Required()
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
组件验证
长度或值必须大于这个值
use FormBuilder\Annotation\Validate\Min;
/**
* @Min(1)
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
长度或值必须小于这个值
use FormBuilder\Annotation\Validate\Max;
/**
* @Max(10)
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
长度或值必须等于这个值
use FormBuilder\Annotation\Validate\Len;
/**
* @Len(10)
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
长度或值必须在这个范围内
use FormBuilder\Annotation\Validate\Range;
/**
* @Range({10,100})
*/
public function goods_name_field()
{
return Elm::input('goods_name', '商品名称');
}
值必须在 list 中
use FormBuilder\Annotation\Validate\Enum;
/**
* @Enum({"A","B","C","D"})
*/
public function goods_name_field()
{
return Elm::input('goods_type', '商品类型');
}
正则验证
use FormBuilder\Annotation\Validate\Pattern;
/**
* @Pattern("^[A-Z]+$")
*/
public function goods_name_field()
{
return Elm::input('goods_type', '商品类型');
}
其他属性
以上验证规则还支持以下属性
-
message
: 设置验证规则的错误信息 -
type
: 设置组件值的类型 (生成规则是数组的情况下需要手动设置) -
trigger
: 设置触发验证的方式 (生成规则是数组的情况下需要手动设置)
详细说明可参考:表单验证
/**
* @Pattern("^[A-Z]+$",message="输入有误",type="string",trigger="change")
*/