🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 设置规则 ~~~ namespace app\models\validate; class customers extends \lib\_model{ protected $tb = 'customers'; public $validate = [ 'nickname'=> 'not_empty', 'bron_date'=> 'not_empty', 'tel'=> 'not_empty|phone', 'number'=> 'not_empty|uniqid:customers,number', 'text'=> 'not_empty', ]; ~~~ ## 规则定义 规则定义支持下面方式: ~~~ public $validate = [ 'nickname'=> 'not_empty', 'bron_date'=> 'not_empty', 'tel'=> 'not_empty|phone', 'number'=> 'not_empty|uniqid:customers,number', 'text'=> 'not_empty', ]; ~~~ 对于一个字段可以设置多个验证规则,使用`|`分割。 ## 属性定义 通常情况下,我们实际在定义验证类的时候,可以通过属性的方式直接定义验证规则等信息,例如: ~~~ namespace app\models\validate; class customers extends \lib\_model{ protected $tb = 'customers'; public $validate = [ 'nickname'=> 'not_empty', 'bron_date'=> 'not_empty', 'tel'=> 'not_empty|phone', 'number'=> 'not_empty|uniqid:customers,number', 'text'=> 'not_empty', ]; public $messages = [ 'nickname'=>[ 'not_empty'=>'姓名不能为空', ], 'bron_date'=>[ 'not_empty'=>'生日不能为空', ], 'tel'=>[ 'not_empty'=>'电话不能为空', 'phone'=>'电话号码格式错误', ], 'number'=>[ 'not_empty'=>'卡号不能为空', 'uniqid'=>'卡号必须是唯一的', ], 'text'=>[ 'not_empty'=>'兴趣爱好不能为空', ] ]; } ~~~ >[info]如果你想添加新的验证规则,可在该文件内添加`framework/core/validator.php` eg:手机号验证 /** * 手机号 * @param [type] $input * @return [type] */ static function phone($input) { return !empty($input) && preg_match('/^[+]?([\d]{0,3})?[\(\.\-\s]?(([\d]{1,3})[\)\.\-\s]*)?(([\d]{3,5})[\.\-\s]?([\d]{4})|([\d]{2}[\.\-\s]?){4})$/', $input); }