• 技术文章 >php框架 >ThinkPHP

    一文讲解thinkphp5如何进行异步验证邮箱

    藏色散人藏色散人2021-09-15 11:42:10转载104
    thinkphp框架教程栏目将给大家介绍thinkphp5使用bootstrapvalidator进行异步验证邮箱的方法,希望对需要的朋友有所帮助!

    TP5使用bootstrapvalidator进行异步验证邮箱

    js验证

    /**
     * Created by HONGXIN on 2017-10-23.
     */
    $(function () {
        $('form').bootstrapValidator({
    
            message: 'This value is not valid',
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
    
            live: 'disabled',//验证失败后,提交按钮仍然是可选状态
    
            fields: {
                email: {
                    message: '用户名验证失败',//默认
                    verbose: false,
                    validators: {
                        notEmpty: {
                            message: '邮箱不能为空'
                        },
                        emailAddress: {
                            message: '邮箱地址格式有误'
                        },
                        remote: {
                            url: '/ajax_email',
                            message:"此邮箱已经注册",
                            type: "post",
                            dataType: 'json',
                            data: {
                                //默认传递的就是输入框的值
                            },
                            delay: 500,//延迟效果
                        },
                    }
                },
                password: {
                    validators: {
                        notEmpty: {
                            message: '邮箱地址不能为空'
                        },
                        stringLength: {
                            min: 6,
                            max: 18,
                            message: '用户名长度必须在6到18位之间'
                        },
                    },
                },
                password2: {
                    validators: {
                        notEmpty: {
                            message: '确认密码不能为空'
                        },
                        identical: {
                            field: 'password',
                            message: '两次密码必须一致'
                        }
                    }
                },
                username:{
                    validators: {
                        notEmpty: {
                            message: '用户名不能为空'
                        },
                        stringLength: {
                            min: 2,
                            max: 8,
                            message: '用户名长度必须在2到8位之间'
                        }
                    }
                }
    
            }
        });
    });

    TP5处理

        public function ajax_email(){
            //该message可以为空,它替换JS验证的message属性
           echo json_encode(['valid'=>false,'message'=>'验证码不正确']);
    
        }

    js验证几个注意点

    • verbose: false,代表js验证合法后再异步后台验证,这样减少服务器压力
    • data: {} ,默认传递的就是输入框的值,所以一般不用写该属性,或者为空即可

    后台注意点

    • 注意不是return而是echo
    • 返回json格式 {'valid':true[,'message':'验证成功']}

    以上就是一文讲解thinkphp5如何进行异步验证邮箱的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp5 php
    上一篇:解决TP5取不到Model的自定义字段问题 下一篇:手把手教你使用ThinkPHP+phpExcel导入导出Excel数据(实践)
    线上培训班

    相关文章推荐

    • thinkphp5整合phpsocketio过程亲自踩的坑!• thinkphp5与laravel的区别是什么• ThinkPHP怎么配置路由,让后台隐藏起来!• 两大PHP主流框架:Laravel和ThinkPHP哪个好?优缺点大比拼

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网