TP5的验证器--validate用法

  我们在写网站和软件交互的时候,通常有js的判断。但就是我在前端JS已经做了些判断,比如什么内容不能为空,邮箱格式是否错误。那我为啥还需要在后端的时候,还需要写一个验证器呢。我在thinkPHP的交流QQ群中,为我解答了疑惑。大概是两点:  

1.前端的判断,是为了更友好的交互,但后端的验证是为了数据库的安全,不受被攻击。比如,精通编程的人,会直接绕过前端的验证,来对后端直接访问。

2.我们会接受客户端传来的参数,这些个参数是不可信的,我们后端开发人员必须对这个参数进行验证。

我这里就总结下我的验证器代码习惯:

第一种是我一开始写的:

      $rule = [
               'goods_name' => 'require',
               'attribute_list' =>'require',
               'album_group' =>'require',
               'album_cover'=>'require',
                '__token__' => 'token',
           ];
           $msg = [
               'goods_name.require' => '分类id不能为空',
               'attribute_list' =>'商品属性值不能为空',
               'album_group' =>'轮播图不能为空',
               'album_cover'=>'封面图不能为空',
                '__token__.token' => 'Token  is  fall'
           ];
           $validate = new  Validate ($rule, $msg);
           $res = $validate->check($_POST);
           if (!$res) {
               $this->ajaxReturn('1', $validate->getError());
           }

你会发现这样写,如果有很多验证器规则,你是不是需要写很多行。而且在同一个控制器中,有很多验证器的规则是会重复的,这就会让代码重复性太高,不够简洁。于是就有了下面第二种,我今天改版的简洁验证。

第二种方式就是我今天改过的:我觉得代码能够简化就简化,十几行代码能搞定的事情,干嘛非要四五十行。所以代码能少则少,这样看着美观点。rule是规则,message是验证消息,scene是验证场景(这是可以用来做多场景的判断)

控制器中的代码:这个ajaxreturn是我封装的一个方法,输出jsoncode形式,这里很简单我就不贴了

$res =$this->validate($_POST,'Commdodity.comm');
           if (true!==$res){
               $this->ajaxReturn('1',$res);
           }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jquery-form-validate是一种基于jQuery的轻量级表单验证插件,用于验证表单输入的合法性。它可以很容易地集成到任何网站或应用程序中,提高用户体验,并防止不必要的错误输入。 该插件包含了许多预定义的验证规则,包括必填项、数字、电子邮件、URL、日期格式等等。如果这些规则不符合您的需求,您也可以自定义规则。 使用这个插件非常容易。只需在您的HTML表单上设置相应的类和属性,就可以轻松地完成验证。一旦表单提交,验证插件就会验证每个输入字段的有效性,并显示错误消息(如果表单填写错误)。 jquery-form-validate还提供了一系列选项和回调函数,可以自定义如何显示错误消息和验证通过的消息。该插件还支持异步验证和多个表单验证。 总的来说,jquery-form-validate是一个优秀的表单验证插件,非常实用。无论你是初学者还是高级开发人员,都可以很容易地集成和定制。 ### 回答2: jQuery Form Validate是一个基于jQuery的表单验证插件,它可以用来验证表单中用户输入的数据是否符合规则。不需要编写复杂的验证代码,只需要写一些简单的规则即可完成表单验证。 使用jQuery Form Validate可以避免在提交数据前,因为表单中有些字段没有填完整或格式不正确等问题,而发生数据无法提交、数据错误等问题。通过对输入数据进行验证,可以提高数据的准确性和可靠性。 jQuery Form Validate提供了非常丰富的验证规则,如非空验证、长度限制、数字验证、邮箱验证、手机号码验证等,可以灵活地满足不同场景下的数据验证需求。 除了自定义规则,jQuery Form Validate还提供了一些默认的错误提示信息,同时也可以自定义错误提示信息,让用户在输入数据时能够清晰地了解错误原因,进一步提高数据输入的准确性。 总之,jQuery Form Validate简单易用且功能强大,是Web开发中不可或缺的表单验证插件。 ### 回答3: jQuery Form Validate是一个基于jQuery的表单验证插件,它提供了一种简单且灵活的方式来验证表单中的输入。它支持各种类型的表单元素,包括文本框、密码框、单选框和复选框等。 使用jQuery Form Validate,您可以轻松地添加验证规则,例如确保表单元素不为空、验证电子邮件地址,以及验证数字等。它还支持定制错误消息和验证成功消息,让您能够轻松地控制表单验证的行为。 jQuery Form Validate还提供了实时验证的功能,允许您在用户输入时即时验证表单元素。这是一个极其有用的功能,用户可以及时得到反馈并进行必要的更正。 此外,jQuery Form Validate还提供了一个灵活的回调函数,允许您在验证成功、验证失败或提交表单时执行自定义逻辑。它还支持数据验证,可帮助您验证表单的完整性和格式。 总的来说,jQuery Form Validate是一个非常强大而又简单易用的表单验证插件,它降低了表单验证的复杂度,同时提高了用户的交互性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值