Home >PHP Framework >ThinkPHP >An article explaining how thinkphp5 performs asynchronous email verification

An article explaining how thinkphp5 performs asynchronous email verification

藏色散人
藏色散人forward
2021-09-14 15:53:192010browse

thinkphp frameworkThe tutorial column will introduce to you how thinkphp5 uses bootstrapvalidator to asynchronously verify emails. I hope it will be helpful to friends in need!

An article explaining how thinkphp5 performs asynchronous email verification

TP5 uses bootstrapvalidator for asynchronous verification email

js verification

/**
 * 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 processing

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

    }

js Several points to note when verifying

  • verbose: false, which means that js verification is legal before asynchronous background verification, which reduces server pressure
  • data: { }, the value of the input box is passed by default, so generally there is no need to write this attribute, or it can be empty

Notes on the background

  • Note that it is not return Instead, echo
  • returns json format {'valid':true[,'message':'Verification successful']}

The above is the detailed content of An article explaining how thinkphp5 performs asynchronous email verification. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete