This article introduces in detail the methods of automatic verification and verification rules in thinkphp. I hope it will be helpful to friends who are learning thinkphp!
Detailed explanation of automatic verification and verification rules in ThinkPHP
ThinkPHP has built-in automatic verification function of data objects to complete the business rules of the model verify. Automatic validation is based on data objects, and in most cases data objects are created based on the $_POST form (not absolute).
Basic automatic verification functions include: required fields, email format, uniqueness, URL address, numbers, whether two fields are the same, whether they are equal to a certain value, etc.
To use the system's automatic verification function, you only need to define the $_validate attribute (an array composed of multiple verification factors) in the corresponding Model class. The syntax is as follows:
protected $_validate = array( array(验证字段,验证规则,错误提示[,验证条件][,附加规则][,验证时间]) };
(recommended tutorial : thinkphp tutorial)
Verification factor | Description |
---|---|
Validation field | Required. The name of the form field that needs to be verified. This field is not necessarily a database field, but can also be some auxiliary fields of the form, such as verification codes, etc. |
Validation Rules | Required. The rules to be verified need to be used in conjunction with additional rules. |
Error message | Required. Prompt message when verification fails. |
Verification conditions | Optional. Includes:
|
Additional rules | Optional. Used in conjunction with verification rules, including:
|
Verification time | Optional. Includes:
|
Automatic validation example
The following example validates that the article title must Fill in and check whether the title already exists:
class ArticleModel extends Model{ protected $_validate = array( array('title','require','标题不能为空!'), array('title','','标题已经存在!',0,'unique',1), }; }
In the operation, when using the create method to create a data object, the data verification operation will be automatically performed (when POST submits the form for processing):
$Article = D("Article"); if (!$Article->create()){ // 如果创建失败,表示验证没有通过(注:可能原因之一)输出错误提示信息 exit($Article->getError()); }else{ // 验证通过,继续下一步流程如将数据写入数据表 }
System Some common regular verification rules are built-in, including: require (required), email (email format), url (URL address), currency (currency), number (number), qq (QQ number), english (English characters), Can be used directly.
For user experience reasons, the error message returned by $Article->getError() is generally returned in Ajax mode. For details, see "ThinkPHP Ajax".
Define your own verification rules
When the built-in verification rules cannot meet the verification requirements, you can define your own verification rules, such as requiring the birth date to be 2000- 1-1 format input:
array('birthday','/^d{4}-d{1,2}-d{1,2}$/','出生年月格式错误!'),
For more related tutorials, please pay attention to PHP Chinese website!
The above is the detailed content of Detailed explanation of automatic verification and verification rules in ThinkPHP. For more information, please follow other related articles on the PHP Chinese website!