thinkphp5.0自定义验证规则使用方法

我们在用thinkphp5.0时候,经常要自定义验证规则,这个写法与tp以前的版本有所区别,小编今天带来大家一起来学习一下5.0下验证规则的使用方法。

在thinkphp5中定义$rule(验证规则)有两种方式

方式一:

$rule = [
  // 不可以在此处定义空的验证 如 'name' => '',会导致出现result未定义错误
  'name' => 'require|max:25',
  'age'  => 'number|between:1,120',
];

方式二:

$rule = [
  'name' => ['require','max'=>25],
  'age'  => ['number','between'=>'1,120'],
];

如果方式一自定义验证规则的话,就可以这样写

$rule = [
  'name' => 'require|max:25|checkName:',
  'age'  => 'number|between:1,120',
];
protected function checkNmae($value)
{
  $value 是name值,可以在此处进行验证,如正则验证
}

如果是方式二的话,写法如下

$rule = [
  'name' => ['require','max'=>25,'checkName'=>'$rule参数'],
  'age'  => ['number','between'=>'1,120'],
  'email' => ['require', 'checkUserEmail'=>'qq.com'],
];
protected function checkName($value, $rule)
{
  $vaule 是name值,$rule为上面的$rule参数
}
protected function checkUserEmail($value,$rule)
{
  $res = preg_match('/^\w+([-+.]\w+)*@'.$rule.'$/', $value);
  if (!$res) {
    return '邮箱只能是'.$rule.'域名';
  } else {
    return true;
  }
}

以上就是我们给出的两种方法的代码,如果你有更好的方法或者代码可以在下面的留言区讨论留言。

(0)

相关推荐

  • thinkphp5.0自定义验证规则使用方法

    我们在用thinkphp5.0时候,经常要自定义验证规则,这个写法与tp以前的版本有所区别,小编今天带来大家一起来学习一下5.0下验证规则的使用方法. 在thinkphp5中定义$rule(验证规则)有两种方式 方式一: $rule = [ // 不可以在此处定义空的验证 如 'name' => '',会导致出现result未定义错误 'name' => 'require|max:25', 'age' => 'number|between:1,120', ]; 方式二: $rule =

  • thinkPHP5框架自定义验证器实现方法分析

    本文实例讲述了thinkPHP5框架自定义验证器实现方法.分享给大家供大家参考,具体如下: 普通的验证器手册上已经很详细,我们讲解一下如何自定义一个验证器 首先我们在模块目录下建立validata文件夹 然后在里面建立一个类,取名为IdMustInt.php 代码如下:注意,我的模块名为api,所以命名空间如下 保护属性$rule为官方规定,不能改变,其实验证规则require都是封装好的函数名,所以我们也建立一个方法,方法名填写在验证规则后面即可 namespace app\api\valid

  • jQuery Validate插件自定义验证规则的方法

    作为一个有强迫症存在的人,最见不得就是不统一的格式,对不齐的代码.所以在对表单填写项进行validate插件验证时,有一些验证规则是根据实际需要个性化定制的.如果不扩展validate插件规则,就会导致验证提示的表现方式不同,这简直能逼死强迫症.所以我就查找了一下,validate插件果然也有能自定义验证规则的方法,简直是强迫症患者的救星.话不多说,我们来看看是如何自定义的吧. //该方法对提现金额进行判断,看账户中是否有足够的金钱提现 function check_price(){ //提现额

  • ThinkPHP6.0如何利用自定义验证规则规范的实现登陆

    1.写在前面 这学期因为各种课内考试,竞赛活动,项目,(和女朋友约会 )

  • PHP YII框架开发小技巧之模型(models)中rules自定义验证规则

    YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性.还是给大家具体说明一下: 以下是视图(views)部分的简单代码: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'tag-form', 'enableAjaxVa

  • jQuery Validate 相关参数及常用的自定义验证规则

    Jquery Validate 相关参数 //定义中文消息 var cnmsg = { required: "必选字段", remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date: "请输入合法的日期", dateISO: "请输入合法的日期 (ISO).", number: "请输入合法的数字",

  • ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】

    本文实例讲述了ThinkPHP5.0框架验证码功能实现方法.分享给大家供大家参考,具体如下: 背景 ThinkPHP5.0 已经出现很久了,最近有所接触,下面介绍一下常用的第三方验证码功能的使用. ♜ 功能开发 1).引入第三方扩展包 进行 TP5 的开发,Composer 的使用会成为重要技能,以 windows 为例子,输入命令: composer require topthink/think-captcha 完成上述操作,会在以下目录中出现 captcha 的扩展包 ..\vendor\t

  • yii2中的rules 自定义验证规则详解

    yii2的一个强大之处之一就是他的Form组件,既方便又安全.有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有. 领导安排搞一个注册的功能,这家伙刷刷刷的又是百度啥啥啥好的表单样式,又是百度啥啥啥validate验证,真替这家伙捏把汗. 当然啦,废话说在前头,咱们的重点喃,是要利用ActiveForm,然后怎么去实现自定义验证规则. 先来说说场景: 条件:①.有两个字段分别是A和B ②.A有两个值分别是1和2 需求是:当用户选择的A的值等于1的时候,B的值必须填写

  • Yii2框架自定义验证规则操作示例

    本文实例讲述了Yii2框架自定义验证规则操作.分享给大家供大家参考,具体如下: 废话不多说直接上代码 class AbcModel extends Model { public $aaa; public $bbb; public $bbb; /** * 验证提交的form表单 * * @return array */ public function rules() { return [ // 自定义验证 [['aaa', 'bbb', 'ccc'], 'customValidationCityC

  • vue表单验证自定义验证规则详解

    本文实例为大家分享了vue表单验证自定义验证规则,供大家参考,具体内容如下 这是公司里Vue+Element UI的项目.写的验证规则放图: 样式代码: <div class="info" v-if="openslist">   <h2 class="info-h">情况反馈表</h2>   <el-form ref="stateForm" :model="stateForm

随机推荐