RT.
ThinkPHP允许用户进行自定义Model类。目前我所学到的,Model类的作用是用来作自动验证,自动完成。一旦自定义了Model类,实例化模型类的时候就需要使用D方法而不是M方法,D方法实例化的时候是实例化某个具体的模型类,M方法适用于只是对数据表进行基本的CURD操作,因为他不需要加载具体的模型类,所以性能会更高。
例如我在我的User模型类中使用$_validate数组来对提交的数据进行自动验证,这种定义属于静态定义。
array(
array( 验证字段 1, 验证规则 , 错误提示 ,[ 验证条件 , 附加规则 , 验证时间 ]),
array( 验证字段 2, 验证规则 , 错误提示 ,[ 验证条件 , 附加规则 , 验证时间 ]),
......
);
验证字段就是需要进行验证的数据项字段的名称。
验证规则要使用,需配合附加规则,在使用正则验证的前提下,系统内置了一些常用的正则验证的规则,可以直接作为验证规则使用,包括字段必须require,email邮箱,url URL地址,currency货币,number数字。
提示信息,用于用户提交数据验证失败之后的提示信息定义。
验证条件,包括三种情况:
self::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
self::MUST_VALIDATE 或者1 必须验证
self::VALUE_VALIDATE或者2 值不为空的时候验证
</