功能注解

{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")
 */
Powered by