WidgetRules - marmot-cn/marmot-framework GitHub Wiki
控件规范
在框架内所有的字段验证规则统一抽象为一条条的控件规范. 控件规范也要提前约定好. 我们这样是用于避免开发人员各自处理错误和错误提示
这样在项目初期我们定好统一的控件规范(错误提示和错误规范匹配), 然后针对控件规范编写单元测试. 开发人员根据产品的草图, 流程图使用控件约束, 不需要自己单独编写.
后期如果控件有修改, 也可以统一修改.
<?php
namespace WidgetRules\Member;
use Marmot\Core;
use Member\Repository\Member\MemberRepository;
class MemberWidgetRules
{
public function gender($gender) : bool
{
if (!V::numeric()->positive()->validate($gender)) {
Core::setLastError(GENDER_FORMAT_ERROR, array('pointer'=>'gender'));
return false;
}
return true;
}
public function industry($industry) : bool
{
if (!V::numeric()->positive()->validate($industry)) {
Core::setLastError(INDUSTRY_FORMAT_ERROR, array('pointer'=>'industry'));
return false;
}
return true;
}
public function email($email) : bool
{
if (!empty($email) && !V::email()->validate($email)) {
Core::setLastError(EMAIL_FORMAT_ERROR);
return false;
}
return true;
}
...
上述代码里面包含控件规范如下:
- 性别
- 行业
- 邮件