## 设置规则
~~~
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);
}